BDE 3.75.1: Production Release

Schedule

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

  • The BDE 3.75.0 release was skipped.

BDE 3.75.1 Highlights

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

The BDE 3.75.1 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). bsl::optional provides its own implementation for allocator-aware types on all platforms, as well as for non-allocator-aware types on platforms where std::optional is not available. However, if std::optional is available and the bsl::optional’s template argument is not allocator-aware, bsl::optional<TYPE> publicly 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.75.1

Summary

bsl::optional

bde 4.0: Component ‘bdlb_literalutil’

implement chrono extensions for bslmt::TimedSemaphore

bdlcc_boundedqueue removeAll + popFront + pushBack issue

Remove uses of ball::RecordAttributes::message from ball

bdlbb::BlobUtilHexDumper asserting while printing Blob with 0-length buffer

Overload resolution for ‘ball::RecordStringFormatter’ changed due to ‘allocator_type’

Remove use of a ball::Record::message from z_bae

bdlb_string.h fails to compile with gcc9 using -D_GLIBCXX_USE_CXX11_ABI=0

Release BDE 3.75.1

Stack buffer overflow error occurs when inserting into a bdlc::HashSet