pkgsrc/devel/thrift/Makefile.version

15 lines
450 B
Text
Raw Normal View History

# $NetBSD: Makefile.version,v 1.3 2020/01/18 23:30:43 rillig Exp $
thrift: updated to 0.12.0 and split into language modules 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
2019-09-18 13:27:51 +02:00
# used by devel/go-thrift/Makefile
# used by devel/p5-thrift/Makefile
# used by devel/py-thrift/Makefile
# used by devel/ruby-thrift/Makefile
# used by devel/thrift/Makefile.common
thrift: updated to 0.13.0 0.13.0 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 Compiler (General) THRIFT-4743 - Remove the compiler plug-in mode contributed THRIFT-4897 - UT of thrift-maven-plugin failed D language THRIFT-4690 - Update dlang deimos for OpenSSL 1.1 (use 1.1.0h tagged release instead of master) THRIFT-4724 - dlang dub.json dependency for openssl is too restrictive THRIFT-4918 - dlang name conflict dart THRIFT-4654 - Thrift Dart port is not compatible with Dart 2 Delphi THRIFT-4024 - Skip() should throw on unknown data types THRIFT-4841 - THTTPTransport relies on activeX component THRIFT-4843 - http:// and https:// schemes are switched in test client THRIFT-4862 - better ToString() support for enums and container types THRIFT-4863 - better indication of WinHTTP errors THRIFT-4881 - Allow TLS1.1 and TLS1.2 over WinHTTP even when not configured as systemwide default THRIFT-4882 - Autodetect proxy settings with WinHTTP THRIFT-4884 - Add serialisation performance test for Delphi THRIFT-4886 - More detailed error information for WinHTTP transport THRIFT-4894 - Enable automatic content encoding handling for gzip,deflate in the WinHTTP client THRIFT-4939 - TThriftListImpl.Sort() does not use comparer THRIFT-4944 - Field IDs > 255 fail with compact protocol Documentation THRIFT-4697 - Create updated release procedures THRIFT-4808 - Update LANGUAGES.md on master to reflect master THRIFT-4933 - Incorrect description in the 0.12.0 version of the documentation Erlang THRIFT-4583 - Support rebar3 for erlang builds THRIFT-4744 - Erlang help intendation not aligned Go THRIFT-4024 - Skip() should throw on unknown data types THRIFT-4612 - Add THeader for Go THRIFT-4747 - The 'omitempty' tag should not be appended to optional fields that have a default value THRIFT-4797 - Generated Go code produces name collisions on imports THRIFT-4908 - reader&writer in golang's TBinaryProtocol is not necessary and misleading haskell THRIFT-4834 - CI error at Haskell: Failed to load interface for `Network' THRIFT-4955 - Haskell test broken due to extension to CompactProtoTestStruct THRIFT-4956 - DebugProtoTest_Main.hs: Invalid ThriftType 128 haxe THRIFT-4024 - Skip() should throw on unknown data types THRIFT-4812 - haxelib readme still points to old ASF git repo HTML THRIFT-4763 - HTML compiler produces invalid HTML document Java THRIFT-2530 - TIOStreamTransport's isOpen() always be true even if close() was called. THRIFT-4368 - Guaranteed NPE in TBaseAsyncProcessor.java THRIFT-4469 - isServing is not thread safe THRIFT-4481 - TBinaryProtocol.writeMessageEnd isn't throwable exception THRIFT-4695 - Pre-Size Java Collections in Union THRIFT-4696 - NonBlocking Server: Use case-switch Statement Instead of if-else Clauses THRIFT-4702 - Improve AutoExpandingBuffer THRIFT-4704 - Streamline TDeserializer Implementation THRIFT-4709 - Use StandardCharset UTF-8 THRIFT-4711 - Improve Immutable None Type Instantiation THRIFT-4712 - Improve Performance of ShortStack THRIFT-4713 - Review of TBaseHelper.java THRIFT-4714 - Java TFramedTransport calls write twice for each flush THRIFT-4725 - Change Return Type Signature of Process Methods THRIFT-4726 - Remove SLF4J Logging Guards THRIFT-4748 - Add Jitpack support THRIFT-4766 - JDK9+ fails on missing annotations THRIFT-4773 - TSaslTransport should relay underlying TTransportException to TSaslTransportException THRIFT-4805 - Suppress excessive logging of SASL TTransportExceptions in case of END_OF_FILE THRIFT-4849 - Do not Ignore InterruptedException THRIFT-4851 - Remove All Calls To printStackTrace THRIFT-4857 - Java field hash code implementation inconsistent with equals. THRIFT-4858 - Java TThreadPoolServer: confusing error message on closed socket THRIFT-4865 - warning: [deprecation] UTF_8 in Charsets has been deprecated THRIFT-4899 - Generated TypeScript declarations incorrectly references types when there is more than 1 include THRIFT-4945 - Log output mode is not standardized THRIFT-4957 - testSanePartsOfCompactProtoTestStruct FAILED JavaScript THRIFT-4675 - JS code generators not handling int64 type properly for constants and for TypeScript type mappings THRIFT-4728 - Cleanup for the double rendering test in JS THRIFT-4737 - thrift.js does not use customHeaders in jqRequest THRIFT-4745 - warning C4305: 'initializing' : truncation from '"__int64' to 'long' THRIFT-4757 - grunt-shell-spawn drags in sync-exec which has a security notice netcore THRIFT-4024 - Skip() should throw on unknown data types THRIFT-4722 - Netcore 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-4742 - Typo "cannot read from null input stream" on write THRIFT-4769 - Change NuGet package to use netstd artifact THRIFT-4919 - THttpTransport.cs (netstd) and THttpClientTransport (netcore) have bad timeout code netstd THRIFT-4768 - Remove "nullable" option from the code base (netstd ONLY) THRIFT-4772 - fully enable server-side usage of framed/buffered transports THRIFT-4813 - NamedPipes may not work in all cases THRIFT-4816 - JSONTransports Context.WriteAsync/ReadAsync are badly named THRIFT-4817 - Add string CTOR to TTlsSocketTransport THRIFT-4818 - Test client should use cancellation token THRIFT-4821 - Normalize TServerSocketTransport constructors in netstd THRIFT-4822 - Refactor bool CTOR flags into enum type THRIFT-4824 - Logger deprecation warnings in tutorial THRIFT-4825 - Align TTlsServerSocketTransport constructors with TServerSocketTransport - Breaking Change THRIFT-4829 - HTTP server transport lacks TransportFactory arguments THRIFT-4831 - interface ITProtocolFactory should be class TProtocolFactory again THRIFT-4832 - superfluous backing field causes CS0169 "field never used" THRIFT-4839 - Remove embedded buffering/framed options from TCP transports THRIFT-4840 - Update the README in the netstd tutorial to include references to the new buffering arguments THRIFT-4848 - Add ability to set Content-Type,Accept headers in HTTP client THRIFT-4853 - TServerFramedTransport is now obsolete and can be removed THRIFT-4854 - oneway calls do not work over HTTP THRIFT-4860 - Allow changing "User-Agent" THRIFT-4879 - general performance improvements for netstd library THRIFT-4891 - Align HTTP test client with all other variants THRIFT-4893 - Enable automatic content encoding handling for gzip,deflate in the HTTP client THRIFT-4898 - Pipe write operations across a network are limited to 65,535 bytes per write. THRIFT-4919 - THttpTransport.cs (netstd) and THttpClientTransport (netcore) have bad timeout code node.js THRIFT-3060 - Node.js client retry logic doesn't flush offline queue on reconnect THRIFT-4675 - JS code generators not handling int64 type properly for constants and for TypeScript type mappings THRIFT-4738 - Generated typescript type definition files are incorrect THRIFT-4771 - THeader for node.js THRIFT-4809 - Javascript episodic code generation THRIFT-4844 - createConnection ignores connect_timeout option perl THRIFT-4691 - The perl CPAN module contains no tests PHP THRIFT-4751 - Missing imports in TProtocol (phpdoc related only) THRIFT-4794 - Finish adding json protocol to the php cross test THRIFT-4807 - PHP extension segfaults if reference is used in input THRIFT-4845 - PHP's TCurlClient ignores timeout values smaller that 1 second python THRIFT-1549 - Python TSSLSocket: Shutdown cleanly THRIFT-4733 - Address already in use with python unit test THRIFT-4767 - support tcp keepalive in python THRIFT-4778 - Python protocol factories do not derive from TProtocolFactory THRIFT-4779 - Python, Java TMultiplexedProcessor do not raise TProtocolException THRIFT-4780 - TMultiplexedProcessor is not fully tested or implemented in Python THRIFT-4783 - Thrift should throw when skipping over unexpected data THRIFT-4798 - Fix python THttpServer to honor correct oneway reply semantics THRIFT-4892 - SASL data type exception for PLAIN THRIFT-4920 - Binary constants emit non-binary Python literals ruby THRIFT-4721 - Installing the ruby gem on systems without make fails in the build_ext task. THRIFT-4971 - Fix lib/rb/spec/union_spec.rb so that CI succeeds rust THRIFT-4953 - Unspecified Field Identifier Creates Non Compiling Rust Code THRIFT-4960 - Bare Trait Warnings Swift THRIFT-4902 - Swift compatibility with Swift 4.2, 5.0 and 5.1 Test suite THRIFT-4301 - configuring --without-python and --without-py3 still invokes py3 tests in make cross THRIFT-4405 - Incorrect handling of sequence numbers that wrap to negative THRIFT-4794 - Finish adding json protocol to the php cross test THRIFT-4969 - PHP test doesn't check the code generation with php:classmap Tutorial THRIFT-4426 - repository should not include symbolic links THRIFT-4965 - Perl tutorial server doesn't work due to the lack of use statement THRIFT-4967 - Node.js tutorial server fails if the zip function invoked THRIFT-4968 - Makefile.am in the Ruby tutorial refers to Python directory THRIFT-4970 - PHP tutorial doesn't work with Thrift v0.12.0+ Typescript THRIFT-4675 - JS code generators not handling int64 type properly for constants and for TypeScript type mappings
2019-11-10 19:05:32 +01:00
DISTNAME= thrift-0.13.0
thrift: updated to 0.12.0 and split into language modules 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
2019-09-18 13:27:51 +02:00
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_APACHE:=thrift/${PKGVERSION_NOREV}/}
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= https://thrift.apache.org/
thrift: updated to 0.12.0 and split into language modules 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
2019-09-18 13:27:51 +02:00
LICENSE= apache-2.0