bond v10.0 Release Notes

Release Date: 2022-03-07 // 9 months ago
    • 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)

Previous changes from v9.0.5

    • 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.