BDE 4.22.0 Release

Schedule

  • The BDE team announces that the BDE 4.22.0 production release was completed on Thursday, March 20, 2025.

BDE 4.22.0 Release Highlights

bdlat::FuzzUtil Allows Fuzzing of BAS Message Types (i.e., bdlat-Compatible Types)

This release of BDE adds additional functionality to bdlat::FuzzUtil that enables one to populate generated message types with random structural data. When used with LLVM libfuzzer, this allows one to generate many such random messages and use them for testing system resiliency when given a wide variety of input.

To get started, start by following the instructions for setting up fuzz testing with BDE.

Then, assuming that you have a bdlat-compatible type called MyMessage, generating random MyMessage objects is as simple as the following:

extern "C"
int LLVMFuzzerTestOneInput(const uint8_t *bytes, size_t size)
{
    bslim::FuzzDataView fuzzData(bytes, size);

    MyMessage msg;
    bdlat::FuzzUtil::consumeMessage(&msg, &fuzzData);
    // Use `msg`...

    return 0;
}

Fixed Tickets

Summary

bdls::FdStreamBuf - guard against double close via BSLS_REVIEW/BSLS_ASSERT?

Stash/restore ‘bslma::TestAllocator’ statistics

Include file and line numbers in message from bsls_review

bdls_tempdirectoryguard: bug if system temp directory is ‘/tmp

Remove unsupported platform/compiler ifdefs/workarounds in bdlb

Please Support Simple-Type Fuzzing in bdlat_fuzzutil

bdls::FilesystemUtil::move issue

bsl::format Refactor ‘MockFormatContext’ usage example

bsl::format bsl::format Refactor ‘MockParseContext’ usage example

bsl::format Bring ‘bslfmt_formattercharutil’ to gold quality

bsl::format Add full tests for ‘bsl::formatter<bdldfp::DecimalXX, t_CHAR>’

bsl::format Bring ‘bslfmt_formatterfloating’ to gold quality

bdlmt::FixedThreadPool maxNumPendingJobs is misleading

reduce nightly build warnings for bdl

address bdlcc_fixedqueue case 7 widespread failure

bdls_testutil.t.cpp case 6,8 test failure

add watchdogs to each section of bdlmt_threadpool.t.cpp case 4

please address bdl test driver compile warnings for ubsan build

please correct bdlc_flathashtable test driver compile warnings

check return value of addThread in bdlcc_fixedqueue.t.cpp case 7

refine watchdog to attempt to localize issue in bdlmt_threadpool case 4

address SAFE mode runtime error in bslmt_threadgroup.t

bsl::format accepts invalid specification

account for new thread creation failure in bdlcc_fixedqueue case 7

please correct formatter related test build errors for gcc-13 cpp23

please reduce all warnings not related to a formatter component in bsl for gcc-13 …

BSLFMT Please fix Windows C++20 test errors

please address widespread test driver compile error in bslfmt_formatterfloating.t

Please address widespread deprecation warning in bsitzo_secondsfrommidnightutil.…

Allow specification of CMake variables (-D<some-variable>:<type>=<value>) when …