BDE 3.30.0: Production Release¶
Schedule¶
The BDE team is pleased to announce that the BDE 3.30.0 production release was completed on Monday, June 3, 2019
BDE 3.30.0 Highlights¶
BDE Buildable with gcc
in C++17 Mode¶
BAEL Decorated with BSLS_DEPRECATE
¶
In this release, the
BSLS_DEPRECATE
macro has been applied to (almost) every class in BAEL, a long deprecated package. (See BALL: The Open Source Logging Toolkit in BDE 3.9.0: Production Release). Clients who are using a supporing compiler and wish to receive compiler warnings if these classes are used should define theBB_WARN_ALL_DEPRECATIONS_FOR_TESTING_ONLY
flag in their build environment. As the name of that flag implies, use of that build flag in production is disallowed. For additional details see bsls_deprecate.Other components in the BDE libraries (outside of BAEL) will be marked deprecated using
bsls_deprecate
based on our experience with BAEL.
Behavioral Change: Default JSON Encoding of Decimal64
Values¶
BDE Release 3.30 introduces the previously alerted behavioral change in JSON encoding of
Decimal64
values. The default value of theencodeQuotedDecimal64
attribute of thebaljsn::EncoderOptions
class is changed fromfalse
totrue
. Consequently, code that previously encodedbdldfp::Decimal*
values to JSON usingbaljsn::Encoder
with a default configuration will no longer encode those values as numbers. Now, they will be encoded in the quoted form (i.e., string literals).The
baljsn::Decoder
implicitly decodes values given either representation, so existing users will notice no difference. However, users of other decoders that lack this behavior will experience breakage. In that case, users can either:
Change their (non-BDE) decoder to accept the quoted string form, or
Change their encoder to generate the numeric form by supplying a
baljsn::EncoderOptions
object in which theencodeQuotedDecimal64
attribute has been set tofalse
.