Bond is a cross-platform framework for working with schematized data. It supports cross-language de/serialization and powerful generic mechanisms for efficiently manipulating data. Bond is broadly used at Microsoft in high scale services.
gbc
& compiler library: 0.12.1.0[[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.grpc/win_thread_pool.h
. (Issue
#1129)GenericWriteVariableUnsigned
to fix "C3861:
'GenericWriteVariableUnsigned': identifier not found" when using custom
streams that do not have their own implementation of
WriteVariableUnsigned
. (Issue
#1115)bond::DynamicParser
that may not emit transform's OmittedField
for compile-time schema and an omitted optional field in the payload.
(Issue #1120)bond::blob
's unnecessary _content
member, reducing its size
by 1 pointer.noexcept
to bond::blob
's non-throwing functions.[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.OutputBuffer.ResizeBuffer
that can be overridden to
use buffer allocators other than new byte[]
(e.g.
ArrayPool<byte>.Rent()
). (Pull request
#1128)$(EnableDefaultItems)
as the
switch that controls this behavior. (Issue
#1110)gbc
& compiler library: 0.12.1.0BOND_FIND_GRPC
to allow for external gRPC
installations. The search for external GRPC installations is only done
when BOND_ENABLE_GRPC
is TRUE
.std::ptr_fun
in the Python library. (Issue
#1080)bin/
, obj/debug/netstandard1.0
). This behavior
matches the implicit compilation behavior for .cs files.gbc
& compiler library: 0.12.1.0OutputBuffer.Grow
: it was incorrectly
growing the buffer by one byte at a time instead of geometrically. (Issue
#1065, Pull request
#1066)gbc
& compiler library: 0.12.1.0CompactBinaryWriter
. 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.gbc
& compiler library: 0.12.1.0--gprc
is in $BondOptions
. (Issue
#1050)gbc
& compiler library: 0.12.1.0bond/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.std::result_of_t
in /std:c++17
.
(Issue #1007)--preview-constructor-parameters
.
(Issue #963)gbc
and Bond compiler librarygbc
& compiler library: 0.12.0.0HexDigit
overload compilation error when
compiling with some versions of GCC. (Pull request
#954)maybe::operator==
that breaks GCC 9
build. (Pull request
#975)MemoryStream.TryGetBuffer()
when cloning streams like is done when
targeting .NET Standard 1.3+.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.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
gbc
& compiler library: 0.11.0.3bond::ext::grpc::server
's destructor when invoked on
a moved-from object instance.bond::blob
.BOND_FIND_RAPIDJSON
to allow for external RapidJSON installations.