Custom go.tag in an IDL no longer removes the existing "db" and "json"
tags but can override them.
This allows us to change default tags in the future without affecting
user defined ones.
Client: go
This closes#1963.
Currently, the generated exception classes are not hashable under
Python 3 because of the generated `__eq__` method. Exception objects
are generally expected to be hashable by the Python standard library.
Post-construction mutation of an exception object seems like a very
unlikely case, so enable hashing for all exceptions by making them
immutable by default. This also adds a way to opt-out of immutability
by setting the `python.immutable` annotation to `"false"`.
If a thrift file includes two files from the same namespace into a
separate file, the generated Go code has duplicate imports for that
namespace. This fixes that.
Client: go
Fix a bug where remote.go client fails to compile when services
extend other services and the parent service has a function that
needs a container for its arguments.
Client:go
This closes#1925.
Client: Swift
Patch: David Furey
This closes#1908
Sort TStruct members by key before generating class properties so that Swift Thrift lib can use delta encoding for CompactProtocol.
Patch: Qinghui Xu
This closes#1898
In some environment, the file system only has second accuracy on
file modification timestamp, so delay of 0.1 second before
recompiling could makes the modification timestamp unchanged.
Currently, the thrift compiler generates regular string literals for
string constants marked as `binary`. This makes the resulting type
inconsistent under Python 3.
Client: python
This closes#1843.
deprecated. They now need to be initialised in shared static
constructors.
This change brings the generator for D up to date with the latest
version of the compiler, but it should continue to work with older
versions.
Client: dlang
Currently Thrift generates members that are invalid for D because
they are D reserved words. This change fixes the problem by
appending a '_' to such names.
This closes#1842.
- Ensure imports are generated for includes in *_types.d.ts files
- Ensure generated type names for struct fields and function arguments
are prefixed with import name if the type is not defined within the same
program.
TryFrom is now stable, so use that. Additionally re-export OrderedFloat since
it is used by the generated code. Relax dependencies to reduce downstream
conflicts.
The java TestClient asks the server to runa oneway request that
sleeps for 3 seconds. If the java TestClient sees the duration
of the call exceed one second, it fails the test. This means the
server did not participate in the "fire and forget" dynamics of
ONEWAY requests. In this case the THttpServer was processing the
RPC before sending the transport response. The fix was to enhance
the TProcessor so that the THttpServer has an opportunity to inspect
the message header before processing the RPC.
This is partly due to the violation of the THttpServer in the
layered architecture. It is essentially implementing a combined
server and transport, whereas there should be a distinct server,
protocol, and transport separation. Many languages seem to have
this problem where HTTP was introduced.
* use override
* use make_shared
* use emplace
* use range for
* fix error on MSVC
* replace boost functions with std functions
* fix static analyzer warnings
* check api return value
* initialize member
* check the return value of SSL_peek > 0
* add override
* HTML: the html generator did generate a closing </code> tag without a match <code>
* THRIFT-4763: added HTML test and fixed up additional HTML generation issues
* make use of C++11 override keyword
* added const specifier to TTransport::getOrigin()
* added more const correctness to the compiler
* make use of auto keyword
* replaced usage of NULL with nullptr
* make use of explicitly-defaulted function definition
* extended changelog