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

Changelog History
Page 1

  • v10.0 Changes

    March 07, 2022
    • IDL core version: 3.0
    • C++ version: 10.0
    • C# NuGet version: 10.0
    • gbc & compiler library: 0.12.1.0

    C++

    • 💥 Breaking change: Bond-over-gRPC has been marked deprecated. Bond-over-gRPC will be removed in the next major version of Bond. See issue #1131, Bond-over-gRPC will be deprecated February 2022, for the full announcement.
      • The [[deprecated]] attribute has been added to the bond::ext::grpc namespace in every top-level Bond-over-gRPC++ header. This will cause compiler warnings/errors for uses of Bond-over-gRPC++ that you may need to handle.
    • 🛠 Fixed multiple symbol definition for Win32Exception in grpc/win_thread_pool.h. (Issue #1129)
    • ➕ Add forward declaration for GenericWriteVariableUnsigned to fix "C3861: 'GenericWriteVariableUnsigned': identifier not found" when using custom streams that do not have their own implementation of WriteVariableUnsigned. (Issue #1115)
    • 🛠 Fixed bond::DynamicParser that may not emit transform's OmittedField for compile-time schema and an omitted optional field in the payload. (Issue #1120)
    • 🛠 Fixed missing include directives.
    • ✂ Removed bond::blob's unnecessary _content member, reducing its size by 1 pointer.
    • ➕ Added an ability to apply transform to a schema.
    • ➕ Added noexcept to bond::blob's non-throwing functions.

    C#

    • 💥 Breaking change: Bond-over-gRPC code has been marked deprecated. Bond-over-gRPC will be removed in the next major version of Bond. See issue #1131, Bond-over-gRPC will be deprecated February 2022, for the full announcement.
      • The [Obsolete] attribute has been added to every public type in the Bond.Grpc assembly. This will cause compiler warnings/errors for uses of Bond-over-gRPC# that you may need to handle.
    • ➕ Added virtual method OutputBuffer.ResizeBuffer that can be overridden to use buffer allocators other than new byte[] (e.g. ArrayPool<byte>.Rent()). (Pull request #1128)
    • The error message emitted when duplicate .bond items are detected by the MSBuild codegen now correctly refers to $(EnableDefaultItems) as the switch that controls this behavior. (Issue #1110)
  • v9.0.5 Changes

    April 14, 2021
    • IDL core version: 3.0
    • C++ version: 9.0.5
    • C# NuGet version: 9.0.5
    • gbc & compiler library: 0.12.1.0

    C++/Python

    • Added CMake variable BOND_FIND_GRPC to allow for external gRPC installations. The search for external GRPC installations is only done when BOND_ENABLE_GRPC is TRUE.
    • ✂ Removed use of deprecated std::ptr_fun in the Python library. (Issue #1080)

    C#

    • Implicit codegen now excludes any .bond files in the project's output directories (e.g., bin/, obj/debug/netstandard1.0). This behavior matches the implicit compilation behavior for .cs files.
  • v9.0.4 Changes

    November 23, 2020

    9.0.4: 2020-11-23

    • IDL core version: 3.0
    • C++ version: 9.0.4
    • C# NuGet version: 9.0.3
    • gbc & compiler library: 0.12.1.0

    C++

    • Bond now uses the [[noreturn]] attribute to annotate functions that do
      not return. Previously, it used compiler-specific annotations.

    C

    • 🚀 There were no C# changes in this release.
  • v9.0.3 Changes

    August 06, 2020

    9.0.3: 2020-08-06

    • IDL core version: 3.0
    • C++ version: 9.0.2
    • C# NuGet version: 9.0.3
    • gbc & compiler library: 0.12.1.0

    C++

    • 🚀 There were no C++ changes in this release.

    C

    • 🛠 Fixed a performance regression in OutputBuffer.Grow: it was incorrectly
      growing the buffer by one byte at a time instead of geometrically. (Issue
      #1065
      , Pull request
      #1066
      )
  • v9.0.2 Changes

    August 03, 2020

    9.0.2: 2020-08-03

    • IDL core version: 3.0
    • C++ version: 9.0.2
    • C# NuGet version: 9.0.2
    • gbc & compiler library: 0.12.1.0

    C++

    • gbc is now installed with 555 (r-xr-xr-x) permissions. (Issue
      #1062
      )

    C

    • 🛠 Fixed a regression writing to non-seekable streams using
      CompactBinaryWriter. The fix in commit
      b0fd4a1
      🚀 inadvertently added a call to Stream.Position in the Release
      🔧 configuration. This call is only indented to be made when Bond is built in
      🔧 the Debug configuration.
  • v9.0.1 Changes

    July 14, 2020

    9.0.1: 2020-07-14

    • IDL core version: 3.0
    • C++ version: 9.0.1
    • C# NuGet version: 9.0.1
    • gbc & compiler library: 0.12.1.0

    C++

    • The RapidJSON submodule now points to commit
      8f4c021.
      ⚠ This addresses some aliasing warnings in recent versions of Clang and GCC.

    C

    • 🛠 Fixed MSB3105/CS2002 error about duplicate Compile items when a directory
      contains multiple .bond files and --gprc is in $BondOptions. (Issue
      #1050
      )
    • 🛠 Fix handling of large container lengths that could cause an infinite loop
      🛰 when deserializing some payloads. This fix addresses
      🔒 CVE-2020-1469.
  • v9.0 Changes

    May 26, 2020
    • IDL core version: 3.0
    • C++ version: 9.0.0
    • C# NuGet version: 9.0.0
    • gbc & compiler library: 0.12.1.0

    C++

    • 💥 Breaking change MSVC 2013 support has been removed. (Issue #851)
    • 💥 Breaking change bond/core/warning.h has been deleted. Since the 5.3.0 release, Bond hasn't needed global warning suppressions for any compiler except MSVC 2013. This file was only used for MSVC 2013, which is no longer a supported compiler.
    • Fixed MSVC warning for deprecation of std::result_of_t in /std:c++17. (Issue #1007)
    • 🛠 Fixed MSVC warning C5208: unnamed class used in typedef name cannot declare members other than non-static data members, member enumerations, or member classes. (Issue #1027)
    • 🛠 Fixed Boost 1.73 warning "The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated." (Pull request #1036)

    C#

    • 🛠 Fixed creation of duplicate default constructor when defining an empty struct and using --preview-constructor-parameters. (Issue #963)
    • The .NET assemblies are now only Authenticode signed with SHA-2. Legacy Windows OS versions may need updates to work with SHA-2 signatures.

    gbc and Bond compiler library

  • v8.2.0 Changes

    November 18, 2019

    8.2.0: 2019-11-18

    • IDL core version: 3.0
    • C++ version: 8.2.0
    • C# NuGet version: 8.2.0
    • gbc & compiler library: 0.12.0.0

    C++

    • gRPC v1.17.1 is now required to use Bond-over-gRPC.
    • 🛠 Fixed an ambigious HexDigit overload compilation error when
      compiling with some versions of GCC. (Pull request
      #954
      )
    • 🛠 Fixed ambiguous call to maybe::operator== that breaks GCC 9
      🏗 build. (Pull request
      #975
      )
    • 🛠 Fixed MSVC warning C4296: "'<': expression is always false" in protocol.h.
      (Issue
      #981
      )

    C

    • ➕ Added .NET 4.6 target framework to Bond.IO.dll so that it can use
      MemoryStream.TryGetBuffer() when cloning streams like is done when
      targeting .NET Standard 1.3+.

    Bond compiler library

    • 💥 Breaking change The bond compiler library (the Haskell library) and
      🏗 gbc have been switched to build with stackage snapshot lts-14.4. This
      📜 snapshot uses megaparsec 7 and aeson 1.4.4, both of which had breaking
      🔄 changes that are reflected in the library, e.g., the parseBond signature
      💻 has changed. There is no impact to users of the gbc command line tool or
      🔄 changes to C++ and C# code generation.
  • v8.1.0 Changes

    March 27, 2019

    C++

    • 🚀 There were no C++ changes in this release.

    C#

    • ⚡️ Updated to gRPC v1.17.1.
    • ➕ Add a constructor that accepts a CallInvoker instance to the generated gRPC clients to support client-side interceptors. For more details about C# interceptors, see the proposal in the gRPC project. Issue #950
  • v8.0.1 Changes

    June 29, 2018
    • gbc & compiler library: 0.11.0.3
    • IDL core version: 3.0
    • C++ version: 8.0.1
    • C# NuGet version: 8.0

    C++

    • 🛠 Fixed a crash in bond::ext::grpc::server's destructor when invoked on a moved-from object instance.
    • ➕ Added move-assignment operator to bond::blob.
    • Added cmake variable BOND_FIND_RAPIDJSON to allow for external RapidJSON installations.

    C#

    • 🚀 There were no C# changes in this release.

    C#

    • 🛠 Fixed alias conversion issue for generic fields Issue #928.