BDE 3.102.0 Release¶
Schedule¶
The BDE team announces that the BDE 3.102.0 production release was completed on Monday, June 6, 2022.
BDE 3.102.0 Highlights¶
Improved Guid Generation¶
This release fixes and improves Guid
generation, particularly for
bdlb::GuidUtil::generateNonSecure (for
creating unique, but not cryptographically secure, Guid
values)
The
Guid
type is now 32-bit aligned to facilitate the removal of unnecessary copy operations in the implementation ofgenerateNonSecure
.The random number generator used in the implementation of
bdlb::GuidUtil::generateNonSecure
reseeds in the child of a forked process, thereby ensuring that parent and child processes do not generate the sameGuid
sequence.bdlb::GuidUtil::generateNonSecure
previously used a PCG generator with 64 bits of state, which would result in a 50% likelihood of collision after the creation of 2^32 Guids.generateNonSecure
now uses a random number generator with 256 bits of state (although the outputGuids
are still limited to a maximum of 122 bits), thereby reducing the probability of collision.In order to support the previous changes, the
bdlb::GuidUtil::generateNonSecure
overloads taking anunsigned char
array has been removed and thegenerate
method taking anunsigned char
array has been deprecated – The equivalent methods taking aGuid
array should be used instead.
FilesystemUtil changes¶
This release improves the bdls::FilesystemUtil
utility, particularly for the bdls::FilesystemUtil::getLastModificationTime
functions. File modification times are now retrieved to microsecond precision
on all platforms (previously the aforementioned functions retrieved timestamps
to millisecond precision on Windows and to second precision on Unix). However,
microsecond timestamp precision is not guaranteed, as the accuracy and
precision of any retrieved timestamps will be limited by the accuracy and
precision of the underlying file system.
Fixed requests:¶
Summary |
---|
Improve quality of GUIDs from bdlb::GuidUtil::generateNonSecure() |
bdls::FilesystemUtil::getLastModificationTime to return sub-second information |
Please update BAL to check /opt/bbinfra/share/zoneinfo first |
GCC11: several ‘bsl’ test drivers fail due to non-exception build. |
GCC11: several ‘bdl’ test drivers fail due to non-exception build |
Tests are not running on Windows |
limitallocators should use rebind_traits not rebind_alloc |
bsls_deprecatefeature.h add second usage example |
Release BDE 3.102.0 |
Investigate windows test failures in bslim_bslstandardheadertest.t.cpp |
On windows BSLS_DEPRECATE_FEATURE can fail to compile |