Socket
Socket
Sign inDemoInstall

thrift

Package Overview
Dependencies
9
Maintainers
5
Versions
25
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install
23Next

0.20.0

Diff

Changelog

Source

0.20.0

Known Open Issues (Blocker or Critical)

  • THRIFT-3877 - C++ library don't work with HTTP (csharp server, cpp client; need cross test enhancement)
  • THRIFT-5468 - Swift service generator doesn't support oneway
  • THRIFT-5654 - LNK4042 and LNK2019 in go_validator_generator.cc

Build Process

  • [THRIFT-5747]https://issues.apache.org/jira/browse/THRIFT-5747 - warning: The macro `AC_HELP_STRING' is obsolete. You should run autoupdate. and some more warnings

C++

  • [THRIFT-5670]https://issues.apache.org/jira/browse/THRIFT-5670 - recvTimeout is not printed correctly for THRIFT_EAGAIN

Compiler (General)

  • [THRIFT-5733]https://issues.apache.org/jira/browse/THRIFT-5733 - Building code with circular includes can result in tons of memory usage and eventual segfault

Delphi

  • [THRIFT-5749]https://issues.apache.org/jira/browse/THRIFT-5749 - Option to enable RTTI info
  • [THRIFT-5740]https://issues.apache.org/jira/browse/THRIFT-5740 - inherited interfaces should be explicitly listed in Delphi class decl

Documentation

  • [THRIFT-4606]https://issues.apache.org/jira/browse/THRIFT-4606 - LGPL license file still present

Erlang

  • [THRIFT-5635]https://issues.apache.org/jira/browse/THRIFT-5635 - Replace some removed functions with new counterparts

Go

  • [THRIFT-5744]https://issues.apache.org/jira/browse/THRIFT-5744 - Switch to slog for go library
  • [THRIFT-5745]https://issues.apache.org/jira/browse/THRIFT-5745 - Implement slog.LogValuer on go TStructs

Haxe

  • [THRIFT-5734]https://issues.apache.org/jira/browse/THRIFT-5734 - generated code may lack required capitalization at class names
  • [THRIFT-5742]https://issues.apache.org/jira/browse/THRIFT-5742 - Add addRange() function to Set helpers to support adding data from arbitrary enumerable containers

Java

  • [THRIFT-5738]https://issues.apache.org/jira/browse/THRIFT-5738 - Compiler build fails on Mac

netstd

  • [THRIFT-5746]https://issues.apache.org/jira/browse/THRIFT-5746 - Upgrade to net8
  • [THRIFT-5743]https://issues.apache.org/jira/browse/THRIFT-5743 - add TLS1.3 to default protocols where available
  • [THRIFT-5726]https://issues.apache.org/jira/browse/THRIFT-5726 - package upgrades and consolidation/improvement of build targets checks

PHP

  • [THRIFT-5752]https://issues.apache.org/jira/browse/THRIFT-5752 - Add TTransportFactoryInterface
  • [THRIFT-5754]https://issues.apache.org/jira/browse/THRIFT-5754 - Fix PHP 8.1 deprecates passing null to non-nullable internal function parameters
  • [THRIFT-5753]https://issues.apache.org/jira/browse/THRIFT-5753 - PHP 8.1 deprecated warning about return type in jsonSerialize functions

Python

  • [THRIFT-5688]https://issues.apache.org/jira/browse/THRIFT-5688 - Add PyPI publishing github actions
jensg
published 0.19.0 •

Changelog

Source

0.19.0

Known Open Issues (Blocker or Critical)

  • THRIFT-3877 - C++ library don't work with HTTP (csharp server, cpp client; need cross test enhancement)
  • THRIFT-5468 - Swift service generator doesn't support oneway
  • THRIFT-5654 - LNK4042 and LNK2019 in go_validator_generator.cc

Build Process

C++

  • THRIFT-5725 - Thrift SSL server stops working if the file descriptor returned is zero
  • THRIFT-5716 - TMemoryBuffer resizing might shrink the buffer size due to uint32_t overflow

Compiler (General)

  • THRIFT-5690 - Constant expects type to be defined before

Delphi

  • THRIFT-5686 - Add comparer and capacity arguments to container classes

Go

Haxe

  • THRIFT-5717 - uuid sets and map keys may throw on some Haxe targets
  • THRIFT-5704 - Superfluous block scope in generated write() code
  • THRIFT-5703 - Haxe 4.30 emits "Local variable retval used without being initialized" on generated code
  • THRIFT-5692 - Support for deprecated methods (via annotation)
  • THRIFT-5707 - deprecation warning fixes for @:extern and @:enum

Java

  • THRIFT-5700 - Migration to JakartaEE and Apache HttpComponents 5
  • THRIFT-5711 - FutureClient does not extend when service extends from another service
  • THRIFT-5702 - Support Java 8
  • THRIFT-5696 - TByteBuffer.java does not allow non-default TConfiguration
  • THRIFT-5653 - Fix Java UUID typeid

JavaScript

  • THRIFT-5674 - Server implementation exceptions are not sent to client in ES6 promise-style invocation

netstd

jensg
published 0.18.1 •

Changelog

Source

0.18.1

Known Open Issues (Blocker or Critical)

  • THRIFT-3877 - C++ library don't work with HTTP (csharp server, cpp client; need cross test enhancement)
  • THRIFT-5468 - Swift service generator doesn't support oneway

Reopened issues

  • THRIFT-5601 - Typedef after first use causes incorrect go code

Go

  • THRIFT-5685 - Compiler generates wrong go code for forward defined types in optional fields
  • THRIFT-5679 - libthrift-0.17.0 has wrong version numbers in MANIFEST.MF
jensg
published 0.18.0 •

Changelog

Source

0.18.0

Known Open Issues (Blocker or Critical)

  • THRIFT-3877 - C++ library don't work with HTTP (csharp server, cpp client; need cross test enhancement)
  • THRIFT-5468 - Swift service generator doesn't support oneway

Compiler (General)

  • THRIFT-5587 - Introduce uuid as additional builtin type
  • THRIFT-5591 - Add uuid type to IDL and implement reference code
  • THRIFT-5626 - Parser should not confuse data types and field names
  • THRIFT-5627 - More consistent syntax for cpp_type
  • THRIFT-5652 - IDL uuid literals can be improved
  • THRIFT-5669 - "required" keyword is illegal in a "throws" clause

C++

  • THRIFT-5661 - TOutput: add zephyr-specific strerror_s implementation
  • THRIFT-5658 - TProtocol: support zephyr byteorder
  • THRIFT-5659 - protocol: declare when methods override

D language

  • THRIFT-5647 - Fix undeclared identifier ECONNRESET on macOS

Delphi

  • THRIFT-5618 - More consistent naming of container classes
  • THRIFT-5620 - Option to force usage of COM types to allow for cross-module references
  • THRIFT-5656 - Escape Delphi keywords with '&' prefix instead of '_' suffix
  • THRIFT-5619 - make sure CheckReadBytesAvailable() and CountConsumedMessageBytes() handle negative sizes properly
  • THRIFT-5622 - Garbled test output with multithreaded clients
  • THRIFT-5625 - SysUtils.TGuidHelper collides with ThriftUtils.TGuidHelper

Erlang

Go

Haxe

Java

  • THRIFT-3956 - Java keywords that are legal in IDL can lead to generated code that will not compile
  • THRIFT-4655 - Parser fails on the word "from"
  • THRIFT-5631 - Execution failed for task ':generateBeanJava'.
  • THRIFT-5632 - Fix java lib pmd main offending errors

Kotlin

  • THRIFT-5646 - Kotlin library should check to see if Gradle is present

netstd

  • THRIFT-5610 - Inconsistent constructors TSocketTransport
  • THRIFT-5623 - ref to disposed instance should be set to null
  • THRIFT-5624 - suboptimal performance of the c# named pipe server transport in multithread servers
  • THRIFT-5628 - MaxMessageSize is never reset on a read buffer
  • THRIFT-5639 - ToString() should use InvariantCulture

OCaml

  • THRIFT-5208 - OCaml codegen exception pattern match syntax error
  • THRIFT-5642 - OCaml in docker build environment is broken

Python

  • THRIFT-5617 - T(SSL)Socket TCP keep-alive incorrectly applies SO_KEEPALIVE to IPPROTO_TCP

Rust

  • THRIFT-5124 - Cannot use reserved language keyword
  • THRIFT-5606 - Wrong indent for const double
  • THRIFT-5600 - Upgrade rust toolchain to 1.61 and edition 2021
  • THRIFT-5643 - Please publish latest version of the Rust lib to crates.io

Swift

Website

jensg
published 0.17.0 •

Changelog

Source

0.17.0

Known Open Issues (Blocker or Critical)

  • THRIFT-3877 - C++ library don't work with HTTP (csharp server, cpp client; need cross test enhancement)
  • THRIFT-5468 - Swift service generator doesn't support oneway

Removed Languages

NB. CL had been finally dropped from 0.17.0 due to lack of active maintainers. In the meantime there is some ongoing work to reintegrate CL support in 0.18.0 version.

Build Process

  • THRIFT-5565 - upgrade travis ci base image to xenial
  • THRIFT-5572 - current travis build is broken (error timeout) within kerl erlang build step
  • THRIFT-5575 - Create a GitHub workflow using CMake

C++

  • THRIFT-5093 - lib: cpp: test: clarify effect of MemoryPolicy on TMemoryBuffer
  • THRIFT-5510 - On Windows NOMINMAX and WIN32_LEAN_AND_MEAN are unset even if set before
  • THRIFT-5515 - Oneway requests can stuck in TNonblockingServer with TSSLSocket
  • THRIFT-5529 - Missing space "<::" in C++ generator
  • THRIFT-5576 - fix old-style cast at const value ctor/copy and redundant copy at ctor

Common LISP

Compiler (General)

  • THRIFT-5506 - C26495 variable "t_field::req_" not initialized, t_field.h:40
  • THRIFT-5540 - Can't use a typedef for a container type containing enums in a constant
  • THRIFT-5588 - Remove slist/senum from IDL

Contributed

  • THRIFT-5599 - contrib/fb303 does not compile after C++ library refactorings

Delphi

Documentation

  • THRIFT-5592 - Update documentation and IDL definition files for uuid type

Erlang

Go

  • THRIFT-5495 - Go lib server not close client when shutdown
  • THRIFT-5527 - generated Process function in go will swallow exceptions defined in thrift IDL
  • THRIFT-5539 - Performance penalty of using TDebugProtocol.DuplicateTo
  • THRIFT-5569 - generated Go code crashes when reading invalid map/set/list
  • THRIFT-5583 - Add a skip_remote arg to go compiler
  • THRIFT-5605 - Go client middleware has no (easy) access to IDL exceptions
  • THRIFT-5609 - TJSONProtocol is unsafe to be used with TDeserializerPool

Haxe

  • THRIFT-5589 - Misc *.hx source files do not compile anymore
  • THRIFT-5590 - Complex initialisations (sets, maps, etc) are broken in Haxe

HTML

  • THRIFT-5528 - Incorrect HTML link for referenced typedefs

Java

  • THRIFT-4086 - Java compiler generates different meta data depending on order of structures in file
  • THRIFT-5485 - @SuppressWarnings is placed above Javadoc
  • THRIFT-5494 - byte count of FrameBuffer(AbstractNonblockingServer.readBufferBytesAllocated) is not subtracted
  • THRIFT-5502 - Is it necessary to report CONNECTION RESET as an ERROR?
  • THRIFT-5519 - Java async client loses exceptions in void methods
  • THRIFT-5520 - add method to convert Option type to java Optional
  • THRIFT-5521 - In Java lib, add param for option_type to generate JDK8 optional types
  • THRIFT-5522 - Upgrade to gradle 6 for Java build
  • THRIFT-5525 - java gen to use reuse_objects instead of reuse-objects as a consistent param casing
  • THRIFT-5526 - java gen to use private_members instead of private-members as a consistent param casing
  • THRIFT-5533 - Fix Java warnings: @param, @return and deprecation
  • THRIFT-5543 - Java lib FieldMetaData should be more type-safe by adding type parameter to metadata registerations
  • THRIFT-5544 - add java code gen param to support including field annotation as metadata
  • THRIFT-5545 - Follow newer gradle convention in organizing source code directories
  • THRIFT-5552 - Apply clang-format to java code gen file
  • THRIFT-5553 - java library to use newer gradle API
  • THRIFT-5555 - Java codegen and library to support future-returning client interface and implementation
  • THRIFT-5557 - Move Java-only tests from /test to /lib/java
  • THRIFT-5560 - Use JUnit 5 (Jupiter) for Java unit tests
  • THRIFT-5562 - remove gradle wrapper jar file from source tree
  • THRIFT-5563 - fix deprecation and enable xlint for java library
  • THRIFT-5568 - Use spotless gradle plugin and google-java-format to enforce a consistent code format
  • THRIFT-5570 - update java lib document about gradle usage
  • THRIFT-5581 - Upgrade gradle version to 7.4+
  • THRIFT-5582 - Improve TProtocol.java
  • THRIFT-5584 - Use gradle toolchain to specify build time Java version

JSON

  • THRIFT-5549 - Json generator should indent properly while generating includes

Kotlin

netstd

  • THRIFT-5505 - error: 'close_generator' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-override]
  • THRIFT-5511 - Full support for the new net6 "nullability" semantics
  • THRIFT-5514 - C# test client slow in multithread mode
  • THRIFT-5577 - netstd namespace directive creates matching subfolders
  • THRIFT-5578 - #nullable disable collides with C# lang versions < 8 (error CS8370)
  • THRIFT-5585 - net5.0 end of support May 2022
jensg
published 0.16.0 •

Changelog

Source

0.16.0

Known Open Issues (Blocker or Critical)

  • THRIFT-3877 - C++ library don't work with HTTP (csharp server, cpp client; need cross test enhancement)
  • THRIFT-5468 - Swift service generator doesn't support oneway

Deprecated Languages

Breaking Changes

  • (none)

C++

  • THRIFT-5187 - Add support for Unix domain sockets on Windows 10 or later
  • THRIFT-5418 - C++ to_string and ostream operator not always generated
  • THRIFT-5456 - ServerSocket doesn't ignore SIGPIPE

Common LISP

Erlang

  • THRIFT-5471 - Introduce delimiter and app_prefix options to erl generator

Go

  • THRIFT-5461 - Invalid golang code generated for optional set<binary> with a default value
  • THRIFT-5469 - Go lib skip map value may cause stack overflow
  • THRIFT-5490 - Improve memory efficiency in go THeader implementation
  • THRIFT-5509 - Potential connection leaks caused by the connectivity check

Haxe

  • THRIFT-5470 - Error: Constraint check failure for haxe.ds.ObjectMap.K

Java

JavaScript

netstd

  • THRIFT-5401 - MaxMessageSize reached exception thrown in TEndpointTransport
  • THRIFT-5408 - Support for deprecated methods (via annotation)
  • THRIFT-5479 - Add net 6 support
  • THRIFT-5480 - TThreadPoolAsyncServer using TFramedTransport mistakenly drops client
  • THRIFT-5481 - consolidate netstd server implementation details into one common model
  • THRIFT-5500 - Uncompilable code when .thrift struct 'System' exists
  • THRIFT-5504 - CA2254 Message template should be compile time constant

Perl

  • THRIFT-5055 - Fix build-cpan-dist.sh to create a CPAN distribution correctly
  • THRIFT-5416 - Allow UDP Socket Client In Perl

Python

  • THRIFT-5454 - Python TProcessPoolServer does not spawn expected number of worker processes
  • THRIFT-5488 - SystemError when using fast binary or compact protocol in python 3.10

Rust

Test Suite

jensg
published 0.15.0 •

Changelog

Source

0.15.0

Known Open Issues (Blocker or Critical)

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

Removed Languages

Breaking Changes

  • THRIFT-5381 - possible collisions at VOID type with some 3rd-party libraries on Haxe cpp targets
  • THRIFT-5396 - deprecate netstd "Async" method postfix
  • THRIFT-5453 - go: NewTSocketConf and NewTSSLSocketConf no longer return an error

AS3

Build Process

  • THRIFT-5334 - version of thrift-maven-plugin is not sync with the main project
  • THRIFT-5394 - AppVeyor CI tries to download outdated cmake
  • THRIFT-5429 - build: autotools: add foreign to AM_INIT_AUTOMAKE

C glib

  • THRIFT-5244 - Dynamic exception specifications are deprecated in C++11[-Wdeprecated]
  • THRIFT-5265 - Add the zlib transport to c_glib
  • THRIFT-5399 - Fix socket leak in abnormal situation
  • THRIFT-5421 - Fix the problem of incorrect setting of errno in some files

C++

  • THRIFT-5341 - Fix Old-Style-Cast, Missing override and Possible noexcept
  • THRIFT-5342 - Apply 'noexcept' attribute to Init/Copy/Move Constructors and Assignments
  • THRIFT-5355 - Do not rely on compiler and check boundaries

D language

  • THRIFT-4303 - D deprecation warnings
  • THRIFT-4979 - Still D deprecation warnings about std.datetime.* in current master
  • THRIFT-5376 - Fix deprecation warnings in D library

Dart

  • THRIFT-5285 - Update to dart 2, widen range on http package

Delphi

  • THRIFT-5350 - 0.14.0 fails to build on non-x86
  • THRIFT-5438 - Inconsistent handling of exceptions during message read vs. message write phase
  • THRIFT-5384 - Improved error message for HTTP transports
  • THRIFT-5385 - XML-HTTP client reports IsOpen=TRUE even if it is not
  • THRIFT-5386 - XML-HTTP client may throw "max message size reached" incorrectly
  • THRIFT-5387 - Improved and simplified Delphi test setup
  • THRIFT-5390 - Named Pipes transport hardening
  • THRIFT-5428 - Prevent costly reallocations to improve performance
  • THRIFT-5437 - Make TProtocolImpl CTOR virtual

Documentation

Erlang

Go

  • THRIFT-5337 - Go set fields write improvement
  • THRIFT-5353 - Namespace from type is ignored in generated code
  • THRIFT-5358 - Add go.mod file(s)
  • THRIFT-5369 - Malformed payload can still cause huge allocations
  • THRIFT-5389 - Thrift compiler generates uncompilable go code around optional constants
  • THRIFT-5404 - TTransportException.Timeout would correctly return true when it's connect timeout during TSocket.Open call
  • THRIFT-5447 - Update supported Go versions before 0.15.0 release
  • THRIFT-5453 - go: NewTSocketConf should not call net.ResolveTCPAddr
  • THRIFT-5459 - Adding a new exception to an endpoint is kinda breaking in go
  • THRIFT-5453 - Defer DNS lookups from NewTSocketConf (without any timeout check) to TSocket.Open (subject to ConnectTimeout set in TConfiguration)
  • THRIFT-5459 - Client calls will return TApplicationException with MISSING_RESULT when the result is a struct but is unset, and no other error is known.

Haskell

Haxe

  • THRIFT-5370 - Haxe 4 compatibility
  • THRIFT-5381 - possible collisions at VOID type with some 3rd-party libraries on Haxe cpp targets
  • THRIFT-5393 - Incorrect namespaces for included types
  • THRIFT-3036 - create official haxelib Thrift package
  • THRIFT-5413 - Int vs String in method get_size required by property size

Java

  • THRIFT-5375 - Put org.apache.tomcat.embed:tomcat-embed-core into scope test
  • THRIFT-5383 - TJSONProtocol Java readString throws on bounds check
  • THRIFT-5400 - Java library does not export the .annotation package
  • THRIFT-5425 - Throw an exception when reading TSimpleJson in Java
  • THRIFT-5430 - FieldMetaData synchronized method can trigger deadlock during static class initialization in JVM native code
  • THRIFT-5432 - TSaslTransport throw TTransportException of MaxMessageSize reached
  • THRIFT-5433 - Add Counter To Thread Name of TThreadPoolServer

JavaScript

  • THRIFT-3508 - JS:TS Generator set all fields of the struct as required

Lua

  • THRIFT-5417 - Fix Lua compiler omitting default values in Lua service functions
  • THRIFT-5439 - Lua Generator does not support const i64

netstd

  • THRIFT-5354 - disable IDE0083 warning
  • THRIFT-5382 - Netstd default list/set enums values are generated incorrectly in some cases
  • THRIFT-5395 - inconsistent treatment of methods ending in "Async"
  • THRIFT-5396 - deprecate "Async" method postfix
  • THRIFT-5408 - Support for deprecated methods (via annotation)
  • THRIFT-5414 - Use of specific parameter names generates uncompileable code
  • THRIFT-5442 - Separate client service calls into send/recv methods and make them public
  • THRIFT-5444 - Netstd generator produces uncompileable code for enums ending with "_result" or "_args"
  • THRIFT-5445 - "cancellationToken" cannot be used as argument name
  • THRIFT-5236 - THttpTransport.cs still has bad timeout code
  • THRIFT-5349 - Add net5.0 as supported platform
  • THRIFT-5373 - HTTP status in case of Protocol/Transport exceptions
  • THRIFT-5391 - Named pipes transport hardening
  • THRIFT-5398 - ThreadPoolServer not stoppable via CancellationToken
  • THRIFT-5407 - Keep support for .NET Core 3.1
  • THRIFT-5419 - Incorrect usage of thread pool in TThreadPoolAsyncServer may lead to poor performance
  • THRIFT-5422 - add threadpool server to netstd test suite impl
  • THRIFT-5431 - Response should include 'content-type' header
  • THRIFT-5436 - Timeout.Infinite is not a good default

PHP

Python

  • THRIFT-5352 - Python: IDL exceptions with no fields can't be instantiated

Ruby

  • THRIFT-5312 - The Ruby compilation configuration in the .gemspec file is modified to be compatible with later bundler versions.
  • THRIFT-5367 - Ruby library crashes when using GC.compact

Rust

  • THRIFT-4098 - Support user-defined output namespaces in generated Rust modules
  • THRIFT-4101 - Make auto-generated Rust enums and unions more user-extensible
  • THRIFT-5314 - Enum forward compatibility
  • THRIFT-5363 - All-caps constant rendered incorrectly
jensg
published 0.14.2 •

Changelog

Source

0.14.2

Java

  • THRIFT-5383 - THRIFT-5383 TJSONProtocol Java readString throws on bounds check

Go

  • THRIFT-5369 - TConfiguration.GetMaxMessageSize() now also applies to container sizes in TProtocol implementations provided
jensg
published 0.14.1 •

Changelog

Source

0.14.1

Known Open Issues (Blocker or Critical)

  • THRIFT-3877 - C++: library don't work with HTTP (csharp server, cpp client; need cross test enhancement)
  • THRIFT-5098 - Deprecated: "The high level Network interface is no longer supported. Please use Network.Socket." and other Haskell issues
  • THRIFT-5245 - NPE when the value of map's key is null

Deprecated Languages

Build Process

  • THRIFT-5334 - version of thrift-maven-plugin is not sync with the main project

Delphi

Go

  • THRIFT-5353 - Namespace from type is ignored in generated code

Python

  • THRIFT-5352 - Python: IDL exceptions with no fields can't be instantiated

Rust

  • THRIFT-5299 - rs implementation compact protocol seq_id should not use zigzag encoding.
jensg
published 0.14.0 •

Changelog

Source

0.14.0

Deprecated Languages

Removed Languages

  • THRIFT-4980 - Remove deprecated C# and netcore bindings from the code base
  • THRIFT-4981 - Remove deprecated netcore bindings from the code base
  • THRIFT-4982 - Remove deprecated C# bindings from the code base

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
  • THRIFT-5326 - go: TException interface now has a new function: TExceptionType
  • THRIFT-4914 - go: TClient.Call now returns ResponseMeta in addition to error

Known Open Issues (Blocker or Critical)

  • THRIFT-3877 - C++: library don't work with HTTP (csharp server, cpp client; need cross test enhancement)
  • THRIFT-5098 - Deprecated: "The high level Network interface is no longer supported. Please use Network.Socket." and other Haskell issues
  • THRIFT-5245 - NPE when the value of map's key is null
  • THRIFT-4687 - Add thrift 0.12.0 to pypi and/or enable more maintainers

Build Process

  • THRIFT-4976 - Docker build: Test failure for StalenessCheckTest on MacOS
  • THRIFT-5087 - test/test.py fails with "AssertionError: Python 3.3 or later is required for proper operation."
  • THRIFT-5097 - Incorrect THRIFT_VERSION in ThriftConfig.cmake
  • THRIFT-5109 - Misc CMake improvements
  • THRIFT-5147 - Add uninstall function
  • THRIFT-5218 - Automated Github release artifacts do not match checksums provided
  • THRIFT-5249 - travis-ci : Failed to run FastbinaryTest.py

C glib

  • THRIFT-4873 - Memory leak in c_glib
  • THRIFT-5118 - Fix memory leak when the handler method return a exception
  • THRIFT-5134 - Fix memory leak when the handler method return FALSE
  • THRIFT-5144 - Fix memory leak when generate deserialize list element
  • THRIFT-4272 - warnings in glibc library
  • THRIFT-4952 - Modified ssl_read feedback value break all the time error.
  • THRIFT-5076 - Improve CMake OpenSSL usage
  • THRIFT-5094 - Fix memory leak in thrift_server_set_property()
  • THRIFT-5101 - Return NULL install of FALSE for thrift_server_socket_accept()
  • THRIFT-5102 - Fix memory leak in thrift_simple_server_serve()
  • THRIFT-5136 - Fix memory leak in thrift_multiplexed_processor_process_impl()
  • THRIFT-5221 - Fix stack overflow when reading buffer
  • THRIFT-5237 - Implement MAX_MESSAGE_SIZE and consolidate limits into a TConfiguration class
  • THRIFT-5255 - Fix stack overflow in framed transport
  • THRIFT-5256 - Fix some compile warnings
  • THRIFT-5268 - Fix some file loss ')' in define

C++

  • THRIFT-1513 - Thrift compiler generates inconsistent code with some complex values (causing g++ to error: "has no member named '__isset')
  • THRIFT-5168 - Useless generated code when .thrift file only has service type
  • THRIFT-5179 - Thrift compiler will generate wrong code if IDL struct's name is 'a' or 'b'
  • THRIFT-5200 - Thrift compiler will generate incorrect code when add 'cob_style' option.
  • THRIFT-4282 - StressTestNonBlocking is disabled in Appveyor as it is unstable on Windows in general
  • THRIFT-4682 - C++ TBinaryProtocol crashes on port scan
  • THRIFT-4963 - TNonblockingServer blocked int addTask(IOThread) and notify(workerThread)
  • THRIFT-5047 - fix cmake support to build cpp server without OPENSSL
  • THRIFT-5076 - Improve CMake OpenSSL usage
  • THRIFT-5078 - Handle named pipe clients quickly disconnecting
  • THRIFT-5086 - CMake target thrift::thrift has no INTERFACE_INCLUDE_DIRECTORIES property
  • THRIFT-5110 - Added a number of required libs for using static OpenSSL
  • THRIFT-5114 - Simplify the computation of the size of TMemoryBuffer
  • THRIFT-5177 - getaddrinfo() should not be used for Unix sockets
  • THRIFT-5178 - THttpClient should work without specifying host
  • THRIFT-5185 - C++: Add WebSocket Server Transport
  • THRIFT-5186 - AI_ADDRCONFIG: Thrift libraries crash with localhost-only network.
  • THRIFT-5215 - C++: Remove portable_endian.h
  • THRIFT-5217 - Deprecated boost header
  • THRIFT-5237 - Implement MAX_MESSAGE_SIZE and consolidate limits into a TConfiguration class
  • THRIFT-5290 - Adjusting cpp *.cproj msvcrt options according to LEGAL-538
  • THRIFT-5295 - Thread and ThreadFactory should be extensible
  • THRIFT-5344 - TTransport may throw raw pointer exceptions

Compiler (General)

  • THRIFT-4173 - Go: thrift compiler generates wrong code for list of aliased type
  • THRIFT-4938 - Issues with version.h treatment
  • THRIFT-4973 - Add deprecation messages for csharp and netcore
  • THRIFT-4980 - Remove deprecated C# and netcore bindings from the code base
  • THRIFT-4982 - Remove deprecated C# bindings from the code baseï…‚
  • THRIFT-5153 - Deprecate byte
  • THRIFT-5225 - Use nullptr instead of NULL
  • THRIFT-5302 - Add recursive function name uniqueness check

D

  • THRIFT-5059 - Add cross tests for TZlibTransport in D
  • THRIFT-5156 - D: Fix library compilation on Windows and compiler warnings
  • THRIFT-5166 - Add WebSocket Server Transport
  • THRIFT-5184 - D: WebSocket Server Transport Fix for Firefox

Delphi

  • THRIFT-5044 - Improve serialization support for TApplicationExceptions and custom exceptions
  • THRIFT-5154 - Generate interface IDs (IID) for Windows platforms
  • THRIFT-5235 - Add property setter for isset flags
  • THRIFT-5261 - Support for deprecated methods (via annotation)
  • THRIFT-5004 - Make exception implementations more consistent
  • THRIFT-5005 - Refactoring of the Delphi libs
  • THRIFT-5006 - Implement DEFAULT_MAX_LENGTH at TFramedTransport
  • THRIFT-5007 - Implement MAX_MESSAGE_SIZE and remaining read bytes control
  • THRIFT-5009 - Serializer implemtation lacks support for layered transports
  • THRIFT-5012 - Centralize configuration aspects into a commonly used configuration object
  • THRIFT-5015 - WinHTTP QueryDataAvailable cannot be used to retrieve total response size
  • THRIFT-5036 - buffered transport over sockets may run into unexpected timeouts
  • THRIFT-5048 - EnumUtils<T>.ToString() throws for elements not known to the receiving end
  • THRIFT-5088 - Memory leak in TEndpointTransportBase
  • THRIFT-5123 - add possibility to query HTTP status code with WinHTTP
  • THRIFT-5146 - Align Delphi to the test suite arguments rules (its "--switch=value", not "--switch value")
  • THRIFT-5186 - AI_ADDRCONFIG: Thrift libraries crash with localhost-only network.
  • THRIFT-5188 - Occasional ERROR_INSUFFICIENT_BUFFER at WinHttpQueryHeaders()
  • THRIFT-5251 - StringUtils<T>.ToString() raises an exception for enum values outside range
  • THRIFT-5304 - TWinHTTPClientImpl may incorrectly report that the message size is reached

Documentation

Go

  • THRIFT-4914 - Compiler generated service clients now provide a new function, LastResponseMeta_(), to get the response metadata (e.g. headers from THeader) from the last client call.
  • THRIFT-4984 - Scary and spammy "error processing request: EOF" logs from TSimpleServer
  • THRIFT-4985 - Clean up logging in go library
  • THRIFT-5002 - remote client fails to compile when extending services
  • THRIFT-5019 - Multiple import same namespace for go included files
  • THRIFT-5046 - Custom tags remove db and json tags
  • THRIFT-5069 - Add TSerializerPool and TDeserializerPool, which are thread-safe versions of TSerializer and TDeserializer.
  • THRIFT-5092 - Panic on nil buffer writes
  • THRIFT-5152 - Separate timeout in TSocket
  • THRIFT-5164 - Go middleware support
  • THRIFT-5214 - go: Implement connection check in TSocket
  • THRIFT-5233 - I/O timeout handling in go library
  • THRIFT-5240 - The context passed into server handler implementations will be canceled when we detected that the client closed the connection.
  • THRIFT-5257 - Go THeader implementation doesn't handle endOfFrame correctly
  • THRIFT-5270 - Go library unit test is broken in go 1.15
  • THRIFT-5278 - Expose API to use THeader+TCompactProtocol in go library client code
  • THRIFT-5279 - Cleanups/small optimizations for go's serializer/deserializer code
  • THRIFT-5294 - Go: TSimpleJSONProtocol could panic on WriteMessageEnd without matching WriteMessageBegin
  • THRIFT-5322 - Add support to TConfiguration, and also fix a bug that could cause excessive memory usage when reading malformed messages from TCompactProtocol.
  • THRIFT-5338 - Proposal: Raise minimal supported Go version with upcoming 0.14.0 release

Haskell

  • THRIFT-5072 - Haskell generator fails to distinguish between multiple enum types with conflicting enum identifiers
  • THRIFT-4959 - cabal.exe: --enable-tests was specified, but tests can't be enabled in a remote package
  • THRIFT-5211 - Handle incomplete reads correctly

Java

  • THRIFT-4252 - Cannot shutdown Java server when clients are still connected
  • THRIFT-4889 - Add SASL support for non-blocking server
  • THRIFT-4937 - Apache HttpCore 4.4.1 reached EoS
  • THRIFT-4949 - improve HTTP/1 server test case
  • THRIFT-5008 - Add a logger line in case of failing to dispose sasl
  • THRIFT-5013 - Use Java Objects RequireNonNull
  • THRIFT-5016 - Do Not Check 'other' For Null in Equals
  • THRIFT-5022 - TIOStreamTransport.isOpen returns true for one-sided transports (see THRIFT-2530).
  • THRIFT-5031 - Fix javadoc of TIOStreamTransport
  • THRIFT-5115 - PR #2022 Updated gradle to 6.2 broke CI
  • THRIFT-5190 - StringUtils haven't take (offset + length) > bytes.length into account
  • THRIFT-5197 - TSSLTransportFactory Do Not Wrap NOT_OPEN Exception Type for Client
  • THRIFT-5201 - Use Apache Parent Pom for Thrift Maven Plugin
  • THRIFT-5202 - TNonblockingMultiFetchClient Use SLF4J Parameterized Logging
  • THRIFT-5203 - Remove Unused toString Method in TSerializer
  • THRIFT-5237 - Implement MAX_MESSAGE_SIZE and consolidate limits into a TConfiguration class
  • THRIFT-5247 - Avoiding meaningless System.copy
  • THRIFT-5274 - Thrift 0.13.0 does not work with JDK8
  • THRIFT-5287 - Log When Client Connections are Dropped
  • THRIFT-5288 - Move Support for ByteBuffer into TTransport

JavaScript

Lua

  • THRIFT-5106 - Fix various Lua library and compiler issues
  • THRIFT-5260 - Fix the thrift compiler generate problematic lua code for the oneway method
  • THRIFT-4992 - thrift lua TcompactProtocol bug fix #1881
  • THRIFT-5262 - Fix a encoding struct bug in the compact protocol implementation to lua
  • THRIFT-5282 - Add IPv6 client support to Lua library
  • THRIFT-5286 - Fix Lua library readBool() in TCompactProtocol
  • THRIFT-5325 - Fix Lua library writeStructEnd() in TCompactProtocol

Markdown

netstd

  • THRIFT-5032 - Allows PascalCase properties for netstd
  • THRIFT-5091 - Netstd generator produces uncompileable code for struct names ending with "_result" or "_args"
  • THRIFT-5095 - ToString() should print entire structure, not just the top-level data
  • THRIFT-5198 - Fix certain Visual Studio hints in generated netstd code
  • THRIFT-5216 - generate DeepCopy methods
  • THRIFT-5220 - DeepCopy() extension methods not generated when the IDL contains no service
  • THRIFT-5238 - GetHashCode can throw NullReferenceException
  • THRIFT-5253 - using Result in result name generates wrong IAsync interface
  • THRIFT-5254 - Member name cannot be Isset (unless it is an "required" member)
  • THRIFT-5316 - Netstd compiler generates wrong ToString() method: .ToString(sb)
  • THRIFT-5317 - netstd compiler does not escape keywords
  • THRIFT-5320 - Usage of "Task" as IDL identifier generates uncompileable code
  • THRIFT-4990 - Upgrade to .NET Core 3.1 (LTS)
  • THRIFT-5010 - BinaryPrimitives.Read/WriteInt32BigEndian should be used to convert to/from network byte order
  • THRIFT-5020 - Refactoring & minor fixes for netstd library
  • THRIFT-5021 - Implement MAX_MESSAGE_SIZE and consolidate limits into a TConfiguration class
  • THRIFT-5026 - TestClient/Server ignores first cmdline argument
  • THRIFT-5027 - Implement remaining read bytes checks
  • THRIFT-5053 - Fix the netstd tutorial console logging and README
  • THRIFT-5083 - NetStd JSON Protocol left in incorrect state
  • THRIFT-5133 - TCompactProtocol string allocation improvement
  • THRIFT-5172 - NetStd TBaseClient open output transport multiple times
  • THRIFT-5210 - further performance optimizations
  • THRIFT-5239 - THttpTransport should support passing in an HttpClient
  • THRIFT-5252 - Make CreateHttpClientHandler() method virtual
  • THRIFT-5275 - Compilation error with Thrift when used in .Net Framework 4.6.1 or above
  • THRIFT-5343 - TTlsSocketTransport does not resolve IPv4 addresses or validate hostnames correctly
23Next
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc