Skip to content

Releases: microsoft/bond

5.2.0

08 Feb 02:01
Compare
Choose a tag to compare

5.2.0: 2017-02-07

  • gbc & compiler library: 0.8.0.0
  • IDL core version: 2.0
  • IDL comm version: 1.2
  • C++ version: 5.2.0
  • C# NuGet version: 5.2.0
  • C# Comm NuGet version: 0.10.0

gbc and Bond compiler library

  • The C++ Comm .cpp template has been renamed to comm_cpp from
    types_comm_cpp to match the file it generates.
  • Add export-attribute option for C++ and make apply-attribute a
    deprecated synonym for export-attribute
  • Fix C++ Comm build problems when services are shared via DLL.
    Issue #314

C++

  • Fixed compatibility with RapidJSON v1.1.0.
    Issue #271
  • The minimum supported version of Boost is now 1.58
  • The bf utility now supports multiple payloads.
    Pull request #288
  • Fixed an issue with aliased enums.
    Pull request #288
  • Fixed an issue with template parameter deduction in bond::is_nullable
    that occurs with Microsoft Visual C++ 2015 Update 3.
    Issue #306

C#

  • Added controls to cap pre-allocation during deserialization of containers
    and blobs.
  • Fixed computation of default value for aliased bool and wstring fields.
    Issue #300

C# Comm

  • Resources are now properly cleaned up if failures are encountered when
    establishing client-side Epoxy connections.
  • The generated interfaces for services are now public. They were
    inadvertently internal before.

5.1.0

03 Feb 22:22
Compare
Choose a tag to compare

5.1.0: 2016-11-14

  • gbc & compiler library: 0.7.0.0
  • IDL core version: 2.0
  • IDL comm version: 1.2
  • C++ version: 5.1.0
  • C# NuGet version: 5.1.0
  • C# Comm NuGet version: 0.9.0

gbc and Bond compiler library

  • Added initial support for generating C++ Comm services and proxies.
  • The Haskell utility functions structName and structParams were renamed
    to className and classParams (in the Language.Bond.Codegen.Cpp.Util
    module).

C++ Comm

  • The initial C++ Comm code has been merged in, but there is still work left
    to be done before the first preview release. Use at your own risk.

C#

  • Bond C# now supports
    .NET Standard 1.0, 1.3, and 1.6,
    so you can use Bond in .NET Core applications.
    Pull request #243
    • Not all assemblies work with all versions of the .NET Standard or on
      all platforms. The
      manual
      lists which assemblies target which frameworks.
    • Bond C# Comm is not yet building with .NET Core toolchain, so its
      .NET Core support is preliminary.
  • Bond.JSON now depends on Newsoft.JSON 9.0.1, the earliest version that
    supports .NET Standard 1.0.
  • A new assembly, Bond.Reflection.dll, has been added, due to some internal
    refactoring needed for .NET Core support. Many of the Bond assemblies now
    have a dependency on this assembly, so you'll need to deploy it. If you
    use NuGet to consume Bond, this is should be handled automatically.
  • Fixed a bug in the MSBuild targets that caused codegen to always be run if
    all of the BondCodegen items have Options metadata.
  • Fixed a bug in the MSBuild targets that caused compilation to fail if the
    $BondOutputDirectory did not end with a trailing slash.

C# Comm

  • The constructor for LayerStackProvider no longer requires a logger;
    instead, the transport's logger is passed to OnSend/OnReceive. Before,
    using the same logger with a transport and LayerStackProvider required a
    duplicate implementation.
  • Fixed a bug that prevented EpoxyListener from accepting multiple
    connections in parallel.

cs-comm-0.8.0

03 Feb 22:20
Compare
Choose a tag to compare

C# Comm 0.8.0: 2016-10-12

  • C# Comm NuGet version: 0.8.0

C# Comm

  • EpoxyTransport can be configured to enable TCP keep-alive to help detect
    dead connections. See EpoxyTransportBuilder.SetKeepAliveTimes for
    details.

5.0.0

01 Oct 02:44
Compare
Choose a tag to compare

5.0.0: 2016-09-12

  • gbc & compiler library: 0.6.0.0
  • IDL core version: 2.0
  • IDL comm version: 1.1
  • C++ version: 5.0.0
  • C# NuGet version: 5.0.0
  • C# Comm NuGet version: 0.7.0

IDL comm

  • Update IDL to conform to naming conventions.
  • Adjust IDL for changes made to Epoxy internals

C++

  • Generated enum types now have a FromEnum method that can be used to
    convert from an enum value to a string. Now generated enum types have all
    four of ToEnum, FromEnum, ToString, and FromString. (The ...Enum
    variants return false on failure, while the ...String variants throw.)
  • Runtime SchemaDef list_sub_type field removed, as it was breaking some
    consumers of serialized SchemaDef. We plan to restore this field in the
    future.
    Issue #161 re-opened

C#

  • Runtime SchemaDef list_sub_type field removed, as it was breaking some
    consumers of serialized SchemaDef. We plan to restore this field in the
    future.
    Issue #161 re-opened
  • The Bond.Runtime NuGet package no longer artificially limits
    Newtonsoft.Json to versions before 10.
    Issue #212

C# Comm

  • EpoxyListeners can now be configured to require clients to authenticate
    themselves with a certificate. This is configured via the
    clientCertificateRequired parameter when creating an
    EpoxyServerTlsConfig.
  • Internals of the Epoxy protocol cleaned up. See the
    updated wire format specification.

4.3.0

01 Oct 02:46
Compare
Choose a tag to compare

This release has been recalled. Please use 5.0.0 instead. See the CHANGELOG for what was changed.

4.2.1

01 Oct 02:46
Compare
Choose a tag to compare

4.2.1: 2016-06-02

  • gbc & compiler library: 0.4.1.0
  • C# NuGet version: 4.2.1
  • C# Comm NuGet version: 0.5.0

gbc

C#

  • Added
    Deserializer.TryDeserialize().
  • Added two new
    NuGet packages
    to make it easier to consume Bond piecemeal.
    • Bond.Compiler: contains gbc, bond.bond, and bond_const.bond in a
      tools-only package
    • Bond.Compiler.CSharp: contains gbc and C# MSBuild targets. No longer
      do you have to consume Bond.CSharp (which pulls in all of the rest of
      Bond) just to get codegen.

C# Comm

4.2.0

01 Oct 02:46
Compare
Choose a tag to compare

4.2.0: 2016-04-28

  • gbc & compiler library: 0.4.0.2
  • C# NuGet version: 4.2.0

C#

  • Add support for Compact Binary v2 writing.
    Issue #70

4.1.0

01 Oct 02:45
Compare
Choose a tag to compare

4.1.0: 2016-04-22

  • gbc & compiler library: 0.4.0.2
  • C# NuGet version: 4.1.0

gbc

C++

  • Enums are now cast to 32-bit integers to avoid some compiler warnings.
  • Bond can be used in code bases where there is a function-style macro named
    U.

C#

4.0.2

01 Oct 02:44
Compare
Choose a tag to compare

4.0.2: 2015-12-14

  • gbc & compiler library: 0.4.0.1
  • C# NuGet version: 4.0.2

Bond compiler library

C#