BDE 3.92.0 Release¶
Schedule¶
The BDE team announces that the BDE 3.92.0 production release was completed on Tuesday, October 19, 2021.
BDE 3.92.0 Highlights¶
balst::StackTracePrinter: More Graceful Streaming of Stack Traces¶
The new type StackTracePrinter
provides superior streaming of stack traces to any bsl::ostream
, particularly making it easier to work with ball
.
To stream a stack trace using ball
, say
BALL_LOG_FATAL << balst::StackTracePrinter();
The constructor to StackTracePrinter
takes 3 optional arguments:
The maximum number of frames to display (default 1024 – passing
-1
yields the default)Enable demangling (default
true
)Additional frames to ignore at the top of the stack (default 0)
Added support for “Base 64 Encoding with URL and Filename Safe Alphabet” to bdlde::base64Encoder
and bdlde::base64Decoder
¶
The bdlde::Base64Encoder
and bdlde::Base64Decoder
support the standard “base64”
encoding (described in https://tools.ietf.org/html/rfc4648) as well as the “Base 64 Encoding
with URL and Filename Safe Alphabet”, or “base64url”, encoding. The “base64url” encoding is
very similar to “base64” but substitutes a couple characters in the encoded alphabet to avoid
characters that conflict with special characters in URL syntax or filename descriptions
(replacing ‘+’ for ‘-‘, and ‘/’ for ‘_’).
The alphabet for encoding and decoding is selected at bdlde::Encoder
or bdlde::Decoder
construction, for example:
bdlde::Encoder basicEncoder; // use "base64" alphabet by default
bdlde::Encoder basicEncoder1(e_BASIC); // explicitly specify "base64" alphabet
bdlde::Encoder urlEncoder(e_URL); // explicitly specify "base64url" alphabet
Continuing BDE 4.0 Changes¶
This release contains a several updates to better support the platform standard
library, which are part of the BDE 4.0 effort. This includes changes to the following
components or packages to add support for bsl::string_view
, std::string
, and/or
std::pmr::string
(where supported):
balcl
balm
baltzo
bblb
bdlcc
Fixed requests: 3.92.0¶
Summary |
---|
Provide print helpers for ‘bsl::optional’. |
baltzo: bde-4.0 interfaces |
bdlcc: bde-4.0 interfaces |
balm: bde-4.0 interfaces |
balcl: BDE 4.0 changes |
bslmt_semaphore: benchmark creators |
array constexpr index operator |
Refactor TempDirectoryGuard |
Offer a file-scope identification for the appropriate interface header for this component |
balst::StackTracePrinter – object to get balst cooperating with ball |
Base64Decoder does not support base64url alphabet |
BlobUtilHexDumper causes stack overflow |
bdlb::NullableValue: some c’tors missing BSLS_KEYWORD_NOEXCEPT? |
Add template deduction guides for bsl::shared_ptr |
bblb: BDE-4.0 interfaces |
Make TimeInterval_ChronoUtil a public class |
bslalg_numericformatterutil doesn’t build in gcc c++03 |
bdlcc_skiplist: test failures in nightly build |
Release BDE 3.92.0 |
[bsl] deprecate bslmf_if component |