BDE 3.64.0: Production Release¶
Schedule¶
The BDE team is pleased to announce that the BDE 3.64.0 production patch release was completed on Monday, October 5, 2020.
BDE 3.64.0 Highlights¶
Support for transparent comparators added to unordered containers¶
The bsl::unordered_map
, bsl::unordered_set
, bsl::unordered_multimap
, and bsl::unordered_multiset
containers now support transparent comparators,
allowing lookups in a container with appropriate comparator and hashing types to perform some lookups without the construction of a temporary.
Note that none of the default comparators or hashers are transparent yet.
bdlb::StringViewUtil
component added¶
A new component bdlb_stringviewutil
was added, which provides utility functions on bsl::string_view
values. It deprecates bdlb::StringRefUtil
and adds a few extra sets of utilities like findFirstOf/findLastOf/findFirstNotOf/findLastNotOf
and startsWith/endsWith
.
blds::PathUtil::getExtension
method added¶
A getExtension
method was added to bdls::PathUtil
via an inner-source contribution, allowing for the efficient extraction of the extension from
a path.
Thanks Braulio!
Improved JSON Conformance in baljsn::DatumUtil::decode
¶
As part of DRQS 117361294 we added the validation suite
from Parsing JSON is a Minefield to the baljsn::DatumUtil
test driver. This test data highlighted a few areas of non-conformance:
Fixed in BDE 3.64:
Incorrectly parsing UTF-16
\uxxxx\uxxxx
surrogate pairs.Allowing invalid UTF-8 in string literals (including object field names).
There are also several points of non-conformance, where BDE is more permissive than the JSON standard, that we do not plan to address (for backwards compatibility reasons):
Consecutive delimiters are accepted, e.g.
[1,,2]
and{"a"::"b"}
Trailing text is ignored, e.g.
"abc"sometrailingtext
Floating point numeric format is more permissive, most notably supporting “inf” and “nan” values.
Users of baljsn::DatumUtil
should be aware that Datum
objects returned from
decode
may contain infinities or NaN’s in double fields.
Fixed requests: 3.64.0¶
Summary |
---|
Add heterogeneous lookup for associative containers |
Prosposal to add bdls::PathUtil::getExtension |
BSLS_ASSERT and BSLS_REVIEW should support constexpr and assume |
baljsn::Encoder::encode() ignores overflow in output stream |
Improve JSON conformance of baljsn |
bcem_aggregate append() behavior |
Create string_view C++20 methods in util component usable from C++03/17 |
fix anone build of bde-classic |
Fuzzing test - read past end of buffer in bdlt_fixutil.cpp |
fix anone warnings |
widespread nightly build failure in baljsn_datumutil.cpp |
Replace WHITELIST with more inclusive term |
Release BDE 3.64.0 |