All Versions
32
Latest Version
Avg Release Cycle
104 days
Latest Release
771 days ago

Changelog History
Page 3

  • v5.1.0 Changes

    November 14, 2016
    • 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

    • ๐Ÿ’ฅ Breaking change: The Haskell utility functions structName and structParams were renamed to className and classParams (in the Language.Bond.Codegen.Cpp.Util module).
    • โž• Added initial support for generating C++ Comm services and proxies.

    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.
  • v5.0.0 Changes

    September 12, 2016
    • 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 core

    • ๐Ÿ’ฅ Breaking change: bond.TypeDef.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

    IDL comm

    • โšก๏ธ Update IDL to conform to naming conventions.
    • Adjust IDL for changes made to Epoxy internals

    C++

    • ๐Ÿ’ฅ Breaking change: 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
    • 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.)

    C#

    • ๐Ÿ’ฅ Breaking change: 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.
  • v4.3.0 Changes

    August 23, 2016
    • gbc & compiler library: 0.5.0.0
    • ๐Ÿš€ IDL core version: 1.0 (first release)
    • ๐Ÿš€ IDL comm version: 1.0 (first release)
    • C++ version: 4.3.0
    • C# NuGet version: 4.3.0
    • C# Comm NuGet version: 0.6.0

    gbc and Bond compiler library

    • ๐Ÿ’ฅ Breaking change: Runtime SchemaDef now includes information about whether BT_LIST fields are nullable or blobs. Issue #161
    • ๐Ÿ‘‰ User-defined TypeMappings can now be created. This makes is easier to implement code generation for new languages. Pull request #172
    • 0๏ธโƒฃ Validate default value type mistmatches. Issue #72 Issue #128
    • 0๏ธโƒฃ Validate default value out-of-range values. Issue #73
    • 0๏ธโƒฃ Fail when struct field has default value of nothing. Issue #164
    • 0๏ธโƒฃ Fail when enum field doesn't have default value. Issue #177
    • 0๏ธโƒฃ Validate default value of type aliases
    • ๐Ÿšš Generated types will used = default move constructors if possible. This results in many generated types having noexcept move constructors.
    • ๐Ÿ›  Fix a bug where, if a Bond namespace contained a struct and an enum value with the same name, generated C++ would contain ambiguous references. Issue #202

    IDL core

    • Set up a separate IDL directory so that IDL is independent of language bindings. Pull request #219

    IDL comm

    • Set up a separate IDL directory so that IDL is independent of language bindings. Convert comm IDL files to use C++-style naming convention. Pull request #219

    C++

    • ๐Ÿ‘Œ Improvements in the nullable implementation. Pull request #174
      • Correctly use allocator model.
      • Reduce size of nullable in the normal case.
      • And others
    • โš™ Runtime SchemaDef now includes information about whether BT_LIST fields are nullable or blobs. Issue #161
    • ๐Ÿšš The following Bond types have (possibly conditional) noexcept move constructors: blob, bonded, maybe, nullable, RuntimeSchema, value.

    C#

    • Bond can now be used with Newtonsoft.Json >= 7.0.1 and < 10
    • โš™ Runtime SchemaDef now includes information about whether BT_LIST fields are nullable or blobs. Issue #161

    C# Comm

    • ๐ŸŒฒ Logging interface revamped to make it non-static, eliminate boilerplate code, and to handle logging-related exceptions gracefully.
      • LogHandler renamed to ILogSink.
      • TransportBuilder.SetLogSink added to associate a logger with a transport.
      • TransportBuilder.EnableDebugLogging added to control whether debug logs are emitted or not.
      • The ILogSink.Log method is now provided a pre-formatted string instead of a format string and its arguments.
    • Transport is now parameterized with Connection and Listener implementations. This eliminates the need to cast the results of transport.ConnectToAsync() and transport.MakeListener() to transport-specific subtypes.
    • Epoxy has a hook for performing custom host to IP address resolution. This is configured with EpoxyTransportBuilder.SetResolver.
    • Bond-generated Errors now give clients opaque GUIDs. These GUIDs can be matched against emitted metrics for debugging.
    • ๐Ÿ”ง Epoxy can now be configured to use TLS to secure the connection.
      • TLS configuration is set via EpoxyTransportBuilder.SetClientTlsConfig/EpoxyTransportBuilder.SetServerTlsConfig.
      • See the TLS example for even more details.
  • v4.2.1 Changes

    June 02, 2016
    • gbc & compiler library: 0.4.1.0
    • C# NuGet version: 4.2.1
    • C# Comm NuGet version: 0.5.0

    gbc

    • ๐Ÿ‘Œ Support for parsing service definitions and generating C# service bases, interfaces, and proxies.
    • MSBuild-compatible error messages. Issue #136

    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

  • v4.2.0 Changes

    April 28, 2016
    • gbc & compiler library: 0.4.0.2
    • C# NuGet version: 4.2.0

    C#

    • โž• Add support for Compact Binary v2 writing. Issue #70
  • v4.1.0 Changes

    April 22, 2016
    • 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#

  • v4.0.2 Changes

    December 14, 2015
    • gbc & compiler library: 0.4.0.1
    • C# NuGet version: 4.0.2

    Bond compiler library

    C#

    • โž• Added support to not inline nested structs in Serializers. This can be used to speed up the time to create the serializer for very complex schemas.
    • ๐Ÿ›  Fix for rare buffer corruption in InputStream. Issue #114.
    • ๐Ÿ›  Fix for SimpleXmlParser not handling XML declarations. Issue #112
  • v0.12.1.0

    May 27, 2020
  • v0.12.0.1

    November 25, 2019
  • v0.11.0.0

    May 30, 2018