BDE 4.14.0 Release¶
Schedule¶
The BDE team announces that the BDE 4.14.0 production release was completed on Monday, Sept 23, 2024, and is now in unstable and robo-trunk.
BDE 4.14.0 Release Highlights¶
a_cdb2::SqlService
Support Calling cdb2_bind_array
¶
bdld::Datum
Now Accepts bsl::allocator<>
Arguments¶
bdld::Datum
now supports passing allocators using the bsl::allocator<>
types as well as the older bslma::Allocator *
convention.
New BDE Documentation Style¶
This release introduces a new BDE documenation style.
- The major changes in the new style:
Documentation blocks are moved in front of the documented entities (classes, structs, functions, etc ).
Public documentation blocks use Doxygen-style comments starting with 3 slashes (
///
)BDE markup language is changed to Markdown for all documentation blocks.
Public documenation blocks may use Doxygen special commands.
Please see BDE Documentation Changes for a detailed description of changes.
This code snippet illustrates some of the new documentation features:
// balt_example.h -*-C++-*-
#ifndef INCLUDED_BALT_EXAMPLE
#define INCLUDED_BALT_EXAMPLE
#include <bsls_ident.h>
BSLS_IDENT("$Id: $")
//@PURPOSE: Provide a component to illustrate BDE formatting.
//
//@CLASSES:
// balt::Example: class illustrating formatting
//
//@SEE_ALSO: balt_other
//
//@DESCRIPTION: This component provides sample code that illustrates the
// BDE documentation format.
//
// Please refer to `balt_other` for additional information, specifically,
// section [](balt_other#Motivation for BDE documentation changes).
//
// This component implements the following features:
// * Feature 1
// - Sub-feature a
// - Sub-feature b
// * Feature 2
//
// Both Markdown and legacy headings will be recognized in the component
// documentation block.
// # Features
// Please refer to the [Doxygen Markdown Support]
// (https://www.doxygen.nl/manual/markdown.html) for exact list of
// supported Markdown syntax.
//
///Usage
///-----
// This section illustrates the intended use of this component.
//
///Example 1: Basic Usage
/// - - - - - - - - - - -
//
// Code block:
// ```
// #include <balt_example.h>
// int main()
// {
// return 0;
// }
// ```
namespace BloomberLP {
namespace balt {
/// This class illustrates the new BDE documentation style.
class Example {
private:
// PRIVATE TYPES
/// This class ... lorem ipsum dolor sit amet.
class Example_Subclass {
};
public:
// CREATORS
/// Construct an example object. Optionally specify the initial value
/// `data`.
Example();
explicit Example(int data);
// MANUPULATORS
/// Set the value of this object to the specified `data`.
void setValue(int data);
// ACCESSORS
/// This method ...
/// @DEPRECATED: Use `bar()` instead.
void foo() const;
};
Fixed DRQSs:¶
Summary |
---|
replace BSLS_ASSERT_OPT with BSLS_ASSERT_INVOKE_NORETURN in bslmt for |
Optimize BSLMT_ONCE_DO for common case of already being done |
Address UBSAN issues in bslh_spookyhashalgorithmimp |
Support for bsl::allocator<> in Datum overloads |
Address UBSAN issues in bdlde_crc32c |
Address UBSAN issues in bdlde_md5 |
Address UBSAN issues in bslh_siphashalgorithm |
Bug in bdlb_variant.h in GCC12? |
bdlb::Tokenizer operator++(int) is ambiguous |
Convert bslma_constructionutil test driver to auto split |
Auto split bslmf_invokeresult test driver |
Auto split bslstl_deque test driver with script |
Re-split bslstl_function test driver with the xt.cpp scipt |
Re-split bslstl_list test driver using the .xt.cpp script |
Re-split bslstl_vector test driver to use .xt.cpp script |
Modify BSLA_PRINTF to use gnu_printf when compiiling with GCC |
new warning about d_capacity , bslstl_string.h line 3999 |
please correct recently introduced test run errors in bdl and bal |
BALL Filobserver 2 documentation is potentially outdated / incorrect. |