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\uxxxxsurrogate 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"sometrailingtextFloating 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 |