BDE 3.73.0: Production Release

Schedule

  • The BDE team is pleased to announce that the BDE 3.73.0 production release was completed on Monday, Feb 1, 2021.

BDE 3.73.0 Highlights

New bsl::optional with interoperability with bdlb::NullableValue

The BDE 3.73 release contains a new component, bsl_optional which provides an implementation of the bsl::optional class template. bsl::optional is intended as a successor to bdlb::NullableValue bringing BDE types closer to the Standard vocabulary. bsl::optional implements the proposed allocator-aware std::pmr::optional type (see https://wg21.link/p2047). If the template argument for bsl::optional, and for platforms where std::optional is not available, bsl::optional provides its own implementation. However, for non-allocator-aware types, bsl::optional<TYPE> inherits from std::optional<TYPE> enabling interoperability between the two.

bdlb::NullableValue has now become a thin wrapper that publicly inherits from and delegates most of its implementation to bsl::optional, while maintaining backwards compatibility with existing code.

See this article and for more details.

Fixed requests: 3.73.0

Summary

bsl::optional

bdlde_base64encoder: fix bugs exposed by fuzz test

Regression in bsls_timeinterval.h using gcc 5.5 with c++14 flags on all platforms

Support default constructed StringRef in bdlb::Tokenizer

bdlf::BindUtil::bind on Linux doesn’t work with non-const operator()

bde_runtest.py times out without a message if too many lines from test

please investigate and correct baljsn_datumutil nightly test errors

please update baljsn and baejsn test drivers for -nan –> nan

bsls::TimeInterval (and bdldfp::Decimal) literal support is incompletely documented

ball: Regression in RecordStringFormatter when logging char(0)

Release BDE 3.73.0