BDE 4.36.0 Release
Schedule
The BDE team announces that the BDE 4.36.0 production release was completed on Monday, March 23, 2026.
BDE 4.36.0 Release Highlights
BALL Record Formatter Plugins: Scheme-Based Log Output Format Selection
BALL observers now support a plugin-based architecture for log record formatting. Format specifications can include a URI-style scheme identifier that selects the formatter type:
text://– The traditional printf-style text formatter (default when no scheme is specified, fully backward compatible).json://– Structured JSON output using JSON array notation for field specifications.qjson://– A convenience format that combines JSON output with the familiar printf-style specifiers for the contents.
For more information, see BALL Record Formatter Plugins: Flexible Log Output Formatting.
New Macros: BSLS_ASSERT_*UNREACHABLE
New macros BSLS_ASSERT_UNREACHABLE, BSLS_ASSERT_OPT_UNREACHABLE, and
BSLS_ASSERT_SAFE_UNREACHABLE have been added to bsls_assert. These
macros are intended for use in code paths that should never be reached,
providing both documentation of intent and runtime detection of logic errors.
bdlmt::EventScheduler Retain Cycle Hazard Fixed
bdlmt::EventScheduler no longer stores a copy of the callback in the
event, eliminating a potential retain cycle hazard when a callback captures a
shared pointer to the scheduler or to an object that owns the scheduler.
Fixed Tickets
Summary |
|---|
|
Implement pluggable log record formatters |
Implement |
Fix |
Fix logic that enables |
Conditionally remove redeclarations deprecated in C++17 |
Fix build issues for C++23 on MacOS |
Fix bad spelling of |
Reduce Darwin machine load nightly build failures |
Reduce spew from |
Correct for-testing-only includes in |
Reduce execution time of |
Reduce introduced |
Fix typo in |
Reduce |
Reduce |
Remove remaining use of |
Alphasort |
Audit the |
Resolve deprecation warning in |
Regenerate |