BDE 4.32.0 Release

Schedule

  • The BDE team announces that the BDE 4.32.0 production release was completed on Monday, December 9, 2025.

BDE 4.32.0 Release Highlights

bsl::hash and hashAppend Now Support std::thread::id

The type std::thread::id, an opaque class type that serves as a unique identifier for std::thread and std::jthread instances, can now be used as a key in BDE unordered associative containers such as bsl::unordered_map. Users who need to hash a larger structure that has a std::thread::id member can do so by passing the std::thread::id value to hashAppend.

Support for gettid() Value in BALL Records

BALL log records now include the kernel thread ID (obtained via gettid() on Linux) in addition to the existing pthread thread ID. This allows correlation of log entries with OS-level thread identifiers visible in tools like ps and top, making debugging and log analysis easier. The format specifier %k or %K (for string formatter) and ktid (for json formatter) can be used to print this new attribute in the log message.

The new attribute kernelThreadID() is available in ball::RecordAttributes to access this value.

Fixed Tickets

Summary

TSAN Race Fix in bslmt::QLock test (Test Case 56)

Support gettid() value in BALL records

bsl bugs: to_string(long double) buffer read overrun

hsl: parse+compile of string input triggers a BSLS_ASSERT

bsl::hash<> specialization is missed for bsl::thread::id

Update version check for MSVC acknowledging known test failure

Fix ball_fmt documentation issue

Datum array deallocation size is incorrect