BDE 3.99.3 Release

Schedule

  • The BDE team announces that the BDE 3.99.3 production release was completed on Monday, April 25, 2022.

BDE 3.99.3 Highlights

Move constructibility changes for BindWrapper

Moving a BindWrapper object (as created by BindUtil::bindS) would previously result in an unnecessary allocation and deallocation. This change ensures BindWrapper is bitwise move constructible and therefore the unnecessary allocation does not take place. A basic benchmark showed a performance improvement of up to 15% . As part of this change a small correction was also made to bsl::shared_ptr because previously, in C++03 only, the is_nothrow_move_constructible trait would incorrectly return false.

Continued Addition of C++17 Type Aliases

This release adds bsl:: aliases for the C++17 features in bsl_algoritm.h, bsl_chrono.h, and bsl_numeric.h. This is part of the general effort to simplify the use of bsl:: names, and in general better support C++17.

Fixed requests: 3.99.3

Summary

Fix broken windows matrix build

bdlmt_threadpool.t test driver fails to compile on Solaris

Fix nightly build TEST_ERROR/TEST_RUN_FAILURE misclassifications

Add C++17 features to bsl_algorithm and bsl_chrono

bdlt::DatetimeInterval::totalSecondsAsDouble trips on g++11 32-bit compiler bug

Update bde-tools scripts to use python3.8

bde-bb: Convert internal implementation to ball

documentation on bdlcc::BoundedQueue vs bdlcc::FixedQueue

Update bsla_nonnullarg docs to note that BSLA_NONNULLARG indexing includes ‘this’

bdlde: Validate generator expression for sse compile flag.

bslmf_isaccessiblebaseof tests have C++11 initializer lists, need to be C++03

Add C++17 type aliases to bsl_numeric.h

Please detect SSE4.2 before using CRC32 instructions in bdlde_crc32c

GCC11: ‘bslmt_threadutil.t.cpp’: failures of TC13

bdlcc_skiplist: leak detection triggered in nightly builds

Add chrono::duration overload(s) to bdlmt_threadpool and similar

Small binders not using small object opt in bsl::function

baljsn::DatumUtil::encode adds quotes around Decimal64 datums

BSLS_ASSERT_SAFE tripped in balxml::TypesPrintUtil_Imp