Skip to content

Releases: SolalPirelli/ThriftSharp

Version 6.0.1

18 Aug 04:49
Compare
Choose a tag to compare
  • .NET Standard 2.0 support
  • Added ThriftSerializer, to easily de/serialize and object to bytes using the Thrift binary protocol.
  • Added ThriftMemoryTransport, a simple in-memory transport.
  • Renamed HttpThriftTransport to ThriftHttpTransport for consistency.

(6.0.0 is a hidden release, I forgot to include the rd.xml file)

Version 5.0.4

27 Sep 18:02
Compare
Choose a tag to compare

Includes the rd.xml file necessary for .NET Native to work properly.

(5.0.1 through 5.0.3 were failed attempts, and are unlisted from NuGet)

Version 5.0.0

24 Sep 11:40
Compare
Choose a tag to compare

.NET Core support.

Breaking changes:

  • ThriftSharp.Extensions has disappeared; ThriftProxy is now available for both .NET Core and the full .NET Framework, in ThriftSharp.
  • ThriftServiceImplementation has been removed. Use ThriftProxy instead.
  • Changes in the constructor of ThriftHttpClient. (should not affect most consumers)

Fixes:

  • Workarounds for issues in UWP's expression interpreter.

Version 4.0.0

13 Aug 10:01
Compare
Choose a tag to compare

Workaround for a bug in UWP's System.Linq.Expressions interpreter, and performance improvements.

Breaking changes:

  • IThriftTransport's reading and writing methods now take offset and count in addition to an array.

Version 3.0.1

03 Aug 23:10
Compare
Choose a tag to compare

Hotfix for a bug on frameworks that restrict access to internal framework types, such as WP 8.1.

The cause was an Expression.Constant taking a Type argument. To determine its type, the framework calls GetType() on it. Since Type is abstract, GetType returned typeof( System.RuntimeType ), the implementing type, which is internal. Thus the expression attempted to access an internal framework type, which crashed on platforms that do not allow it.

Version 3.0.0

28 Jul 18:25
Compare
Choose a tag to compare

General

  • Vastly improved serialization and deserialization performance
  • Improved error handling when parsing attributes
  • ThriftCommunication can now be used with custom protocols and transports; the ThriftSharp.Models, ThriftSharp.Protocols and ThriftSharp.Transport namespaces are now public.
  • Minor bugfixes and improvements

Breaking changes

  • Support for Windows Phone Silverlight was dropped
  • Thrift lists are now represented by IList<T> rather than ICollection<T>
  • IThriftValueConverter is now IThriftValueConverter<TFrom, TTo>, and ThriftValueConverter<TFrom, TTo> was removed
  • Thrift{Field, Method, Throws, Parameter}Attribute now have a Converter optional parameter, and ThriftConverterAttribute was removed
  • ThriftFieldAttribute now has a DefaultValue optional parameter, and ThriftDefaultValueAttribute was removed
  • IsOneWay is now an optional parameter on ThriftMethodAttribute rather than on its constructor
  • The built-in date converters now return UTC dates rather than local ones

Internals

  • C# 6 is now used internally
  • Benchmarks are now done with BenchmarkDotNet
  • Unit tests use xUnit.net rather than MSTest
  • 100% code coverage in unit tests

Version 2.3.1

06 Feb 17:11
Compare
Choose a tag to compare

Fixed a memory leak; references to objects returned from a Thrift call were being kept through the struct cache.

Version 2.3

26 Nov 22:49
Compare
Choose a tag to compare
  • The HTTP transport can now take an IReadOnlyDictionary<string, string> for its headers, rather than a writeable Dictionary<string, string>.
  • ThriftProtocolExceptionType's BadSequenceID has been renamed to BadSequenceId to follow .NET conventions.
  • Minor internal improvements.

Version 2.2

22 Oct 21:48
Compare
Choose a tag to compare

Added converters for the DateTimeOffset class, which should replace DateTime in most use cases.

Version 2.1.1

25 Aug 21:45
Compare
Choose a tag to compare

Bugfix release. Collection types containing structs weren't read properly.