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_DEPRECATEmacro 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_ONLYflag 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_deprecatebased 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
Decimal64values. The default value of theencodeQuotedDecimal64attribute of thebaljsn::EncoderOptionsclass is changed fromfalsetotrue. Consequently, code that previously encodedbdldfp::Decimal*values to JSON usingbaljsn::Encoderwith 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::Decoderimplicitly 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::EncoderOptionsobject in which theencodeQuotedDecimal64attribute has been set tofalse.