BDE 4.29.0 Release

Schedule

  • The BDE team announces that the BDE 4.29.0 production release was completed on Thursday, September 11, 2025.

BDE 4.29.0 Release Highlights

bsl::format: add support for bsl::optional<T>

This BDE release adds formatting support for bsl::optional.

bsl::optional<int> empty;

bsl::optional<int> three(3);

bsl::cout << bsl::format("{}\n", empty);    // writes "NULL"

bsl::cout << bsl::format("{}\n", three);    // writes "3"

bsl::format: add support for bsl::variant<Args..>

This BDE release adds formatting support for bsl::variant. Variant objects are formatted by use of a utility to create the necessary formatter object.

typedef bdlb::VariantPrinterUtil   Util;

bsl::variant<int, double>  theVariant(3.14);

bsl::cout << bsl::format("{}\n", Util::makePrinter(theVariant));

Fixed Tickets

Summary

Replacing sleep with a barrier so that TSAN does not flag

Create article about uses of bdlt::*Tz::*Valid for checking Date objects

TSAN Race Fix in bdlcc::ObjectPool

Old legacy links in BDE documentation.

Please investigate compiler crash for ubsan in bslstl_hashtableiterator.t.cpp

Provide bsl::format support for bsl::optional<T> and variant

bslfmt_formatterintegral does not compile with clang-18

Address observed nightly build TimedCompletionGuard failures

Please back out decoder required-elements checks.

Fix C++23 deprecation warnings in nightly build

Improve u_NEXT_CLANG_MAJOR_VERSION check in ‘bdld_datum’ test driver

Make relaxed unsigned atomic operations actually atomic

Fix broken bslfmt::streamed warning support

Address observed nightly build TimedCompletionGuard failures in bdlcc

Fix MSVC C++23 build for bsl::format

Fix bdlf_overloaded test driver to compile under C++23 with MSVC

Fix bsl::basic_string and bsl::basic_string_view missing template parameter

Clear out from bsl dead code for unsupported compilers

Refactor bsl::pair code to improve maintainability prior to C++23 work

bslfmt_testspecificationgenerator case 1 fails on clang-18

bslfmt_formatterbase does not compile on some gcc-13 compilers/environments