60f92fb80d
Thrift 0.12.0 New Languages * Common LISP (cl) * Swift * Typescript (nodets) Deprecated Languages * Cocoa Breaking Changes (since 0.11.0) * Rust enum variants are now camel-cased instead of uppercased to conform to Rust naming conventions * Support for golang 1.6 and earlier has been dropped. * PHP now uses the PSR-4 loader by default instead of class maps. * method signatures changed in the compiler's t_oop_generator. * The C (GLib) compiler's handling of namespaces has been improved. Known Issues (Blocker or Critical) * build: use a single build system for thrift * build: bootstrap.sh is missing from source tarball * csharp: socket exhaustion in csharp implementation * cocoa: Getters for fields defined with uppercase names do not work * cocoa: Extended services aren't subclasses in generated Cocoa * cocoa: Thrift de-capitalizes the name of IsSet property in Cocoa * cpp: the http implementation is not standard; interop with other languages is spotty at best * cpp: Impossible to build Thrift C++ library for Android (NDK) * cpp: Using multiple async services simultaneously is not thread-safe * haskell: Defaulted struct parameters on a service generates invalid Haskell * nodejs: Exception swallowed by deserialization function * nodejs: map<i64,value> key treated as hex value in JavaScript * nodejs: ERROR in ./node_modules/thrift/lib/nodejs/lib/thrift/connection.js Module not found: Error: Can't resolve 'child_process' * nodejs: Sequence numbering for multiplexed protocol broken * php: sequence and reconnection management issues * php: Error during deserialization int64 on 32-bit architecture * php: thrift type i64 java to php serialize/deserealize not working * php: PHP gets stuck in infinite loop * python: sending int or float in a double field breaks the connection * python: unix sockets can get stuck forever * python: generated code is out of order and causes load issues * py3: UnicodeDecideError in Python3 Build Process * D language docker images need demios for libevent and openssl fixed to re-enable make cross on dlang * Use Ubuntu Bionic (18.04 LTS) for CI builds instead of Artful (17.10) * Define CI operating system coverage rules for the project and (hopefully) simplify CI a little more * ubuntu install instructions broken on 16.04 * Appveyor builds are failing due to a haskell / cabal update in chocolatey * optimize Dockerfile (only onetime apt-get update) * rm `build/docker/ubuntu-trusty/Dockerfile.orig` * Ubuntu Artful doesn't appear to be compatible with Thrift and Haxe 3.4.2 * DLang Client Pool Test fails sporadically * CL tutorial build fails sporadically * Make haxelib download quiet so it doesn't blow up the build log * bootstrap.sh fails if automake=1.16.1 c_glib * The C (GLib) compiler's handling of namespaces has been improved. * glibC compilation issue * c glib is unable to handle client close unexpectedly cl (new language support in 0.12.0) * Common Lisp support csharp * reserved Csharp keywords are not escaped in some cases * C# async mode generates incorrect code with inherited services * IAsyncResult style methods not being supported by certain transports leads to issues in mixed ISync/IAsync use cases * Allow TBufferedTransport to be used as base class * XML docs; code cleanup (tabs->spaces; String->string) * protected ExceptionType type member of TApplicationException cannot be accessed * JSONProtocol Base64 Encoding Trims Padding * Missing dispose calls in ThreadedServer & ThreadpoolServer * keep InnerException wherever appropriate * IAsyncResult not supported by layered transports (buffered/framed) cpp * Typecasting problem on list items * TNonblockingServer throwing THRIFT LOGGER: TConnection::workSocket(): THRIFT_EAGAIN (unavailable resources) * TBufferTransports.h does not compile under Visual Studio 2017 * TNonblockingServer crash because of limitation of select() * TZlibTransport.cpp doesn't ensure that there is enough space for the zlib flush marker in the buffer. * ZeroMQ contrib library needs a refresh * TSSLServerSocket incorrectly prints errors * Move `TAsyncProtocolProcessor` into main thrift library * evhttp_connection_new is deprecated; use evhttp_connection_base_new compiler * Compiler cannot be compiled on macOS(maybe also on other platforms with clang) * Thrift generates wrong Python code for immutable structures with optional members * thrift generated code is not stable for constants * Avoid updating Thrift compiler generated code if the output has not changed * Visual Studio Compiler project should link runtime statically in release builds * plugin.thrift t_const_value is not used as a union in C++ code -- fix this * Dealing with language keywords in Thrift (e.g. service method names) * repeated runs of compiler produce different binary output at plugin interface dlang * Thrift will not build with dlang 2.078 or later * dlang servers logError on normal client disconnection * D language docker images need demios for libevent and openssl fixed to re-enable make cross on dlang dart * Effective Dart and Exceptions * Shouldn't download dart.deb directly. delphi * Calling wrong exception CTOR leads to "call failed: unknown result" instead of the real exception being thrown * uncompileable code with member names that are also types under specific conditions * Add Async implementation via IFuture * Possible invalid ptr AV with overlapped read/write on pipes * Thrift exceptions should derive from TException * buffered transport broken when trying to re-open a formerly closed transport * Move Thrift.Console.pas out of the Library * Allow a default service as fallback for multiplex processors connected by old clients * Large writes/reads may cause range check errors in debug mode * Compiler directive should match Delphi XE4 * First line in Console duplicated * FPU ctrl word settings may cause an unexpected "denormalized" error erlang * Erlang records should use map() for map type * Erlang records should allow 'undefined' for non-required fields * Fix erlang tutorial unpack on Windows * Ubuntu Xenial erlang 18.3 "make check" fails golang * Support for golang 1.6 and earlier has been dropped. * Go generator assigns strings to field in const instead of pointers. * Unions Field Count Does Not Consider Binary * Golang: Panic on p.c.Call when using deprecated initializers * Required field incorrectly marked as set when fieldType does not match * Golang: -remote.go client cleanup * TSimpleServer can exit Accept loop with lock still acquired * Add support for go 1.10 * golang tests rely on gomock, which has change behaviour, causing tests to fail * Communication crash when using binary/compact protocol and zlib transport * golang race detected when closing listener socket haskell * Haskell builds with older cabal cannot reconcile complex version requirements java * Thrift does not compile due to Ant Maven task errors * Compiling Thrift from source: Class org.apache.tools.ant.taskdefs.ConditionTask doesn't support the nested "typefound" element * proposal: add nullability annotations to generated Java code * Generate missing @Nullable annotations for Java iterator getters * Getter of binary field in Java creates unnecessary copy * libthrift is deployed on central with pom packaging instead of jar * Java Configure Fails for Ant >= 1.10 * Java libraries missing from package when using cmake * pom files are not generated or provided in the build * Maven can't download resource from central when behind a proxy and won't use local repository * Optional rethrow of unhandled exceptions in java processor * Able to set keyStore and trustStore as InputStream in the TSSLTransportFactory.TSSLTransportParameters * Pass message of unhandled exception to optional rethrow. * Remove assertion in Java SASL code that would be ignored in release builds * Include popular IDE file templates to gitignore * Make TThreadPoolServer.executorService_ available in inherited classes and refactor methods to be able customization * Fix logic of THRIFT-2268 * Increase Java Socket Buffer Size * Remove Magic Number In TFIleTransport js * JavaScript: Use modern Promise implementations * let / const variable decorators for es6 compiler * ES6 Classes * JS: readI32 performance on large arrays is very poor in Chrome * js and nodejs libraries need to be refreshed with current libraries * thrift.js: Incorrect usage of 'this' in TWebSocketTransport.__onOpen * Deserialization of nested list discards content * JS WebSocket client callbacks invoked twice on parallel requests * Duplicate declaration of InputBufferUnderrunError in lib/nodejs/lib/thrift/json_protocol.js * Add prettier for consistent JS code formatting lua * lua client uses two write() calls per framed message send * Can't "make install" Lua Library netcore * .NET Core Server doesn't close properly when cancelled * Update .NET Core components, add tests for .Net Core library and .Net Core compiler, fix bugs and build process * JSONProtocol Base64 Encoding Trims Padding node.js * Error handling malformed arguments leaks memory, corrupts transport buffers causing next RPC to fail * Memory leak while calling oneway method * add typescript directory support * TBufferedTransport can leave corrupt data in the buffer * Node.js Fileserver webroot path * Unix domain socket support for NodeJS client * node.js json_protocol throws error in skip function * NodeJS: Expose Int64 from browser.js for consumption by browser * NodeJS warning on binary_protocol writeMessageEnd when seqid = 0 perl * Replace the use of Perl Indirect Object Syntax calls to new() * Thrift CPAN release is missing Makefile.PL and the clients are unable to build the module * Perl CPAN Packaging Improvements php * PHP generator use PSR-4 default * PHP generated code match PSR-2 * Extending Thrift class results in "Attempt serialize from non-Thrift object" * TSocket block on read * migrate php library to psr-4 * infinite loop in latest PHP library * TBufferedTransport must have underlying transport * lib/php/test should be checked for PSR-2 * add phpcs back * php library use PSR-2 * TCurlClient doesn't check for HTTP status code * TCurlClient: show actual error message when throwing TTransportException * Add stream context support into PHP/THttpClient * reduce php library directory depth python * Twisted, slots, and void method fails with "object has no attribute 'success'" * Potentially server-crashing typo in Python TNonblockingServer * Supporting TBinaryProtocolAccelerated protocol when using TMultiplexedProcessor in Python * Outdated cipher string in python unit test * python build on Vagrant Windows boxes fails * THeader for Python * make socket backlog configurable for python * Python: cleanup socket timeout settings ruby * Thrift RSpec test suite fails with Ruby 2.4.x due to Fixnum deprecation * Support ruby rspec 3 * Add ssl socket option to ruby cross tests * Add seek support to TCompactInputProtocol in Rust * Codegen Creates Invalid Ruby for Recursive Structs * Fix the genspec for ruby so it does not complain about an invalid license rust * Rust const string calls function at compile time * Rust enum name wrong case in generated structs * Avoid generating conflicting struct names in Rust code * Rust generation should include #![allow(non_snake_case)] or force conform to Rust style guidelines * Rust binary protocol and buffered transport cannot handle writes above 4096 bytes * Rust framed transport cannot handle writes above 4096 bytes * Rust's TBinaryInputProtocol fails when strict is false * Dart -> Rust Framed cross tests fail * Rust cannot create ReadHalf/WriteHalf to implement custom tranports swift (new language support in 0.12.0) * Swift Library test suite * Gracefully shutdown cross-test servers to fully test teardown * Add .NET Core to the make cross standard test suite * Add unix domain sockets in ruby to cross test - code exists typescript (new language support in 0.12.0) * add typescript directory support
7 lines
410 B
Text
7 lines
410 B
Text
The Apache Thrift software framework, for scalable cross-language services
|
|
development, combines a software stack with a code generation engine to build
|
|
services that work efficiently and seamlessly between C++, Java, Python, PHP,
|
|
Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml
|
|
and Delphi and other languages.
|
|
|
|
This package provides Go bindings for the Apache Thrift RPC system.
|