Bond v10.0 Release Notes
Release Date: 2022-03-07 // almost 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.