Bond v10.0 Release Notes
Release Date: 2022-03-07 // about 3 years 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 thebond::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.
- The
- ๐ 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 ofWriteVariableUnsigned
. (Issue #1115) - ๐ Fixed
bond::DynamicParser
that may not emit transform'sOmittedField
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
tobond::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 theBond.Grpc
assembly. This will cause compiler warnings/errors for uses of Bond-over-gRPC# that you may need to handle.
- The
- โ Added virtual method
OutputBuffer.ResizeBuffer
that can be overridden to use buffer allocators other thannew 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 whenBOND_ENABLE_GRPC
isTRUE
. - โ 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.