BDE 3.41.0: Production Release¶
Schedule¶
The BDE team is pleased to announce that the BDE 3.41.0 production release was completed on Wednesday, October 30, 2019
BDE 3.41.0 Highlights¶
Change to balxml::Encoder
Behavior¶
The BDE XML encoder,
balxml::Encoder
, will change the encoding of sequence elements that are both nullable and nillable. This change will not impact users of BDE’s XML decoder to decode the resulting XML. This change fixes a long standing user reported issue in rendering nullable and nillable elements that have the null value, and is backwards-compatible with the existing behavior of the BDE XML Decoder.
New Option for baexml_SchemaParser
Allows Empty-String Default Values¶
baexml_SchemaParser
is a mechanism that can be used to generatebdem_Schema
objects by parsing XSD.It has a new configuration option,
preserveEmptyDefaultStrings
, that controls whether elements withtype='xs:string'
anddefault=''
, when decoded, are represented as optional strings, or as non-optional strings that will be populated with a (default) empty string value if the element is not present in an XML being decoded. By default, this option is disabled, which indicates that the sting elements will be represented as optional elements. This default behavior is unchanged from previous BDE releases. If thepreserveEmptyDefaultStrings
options is enabled, this indicates that the string elements will be represented as non-optional strings (having an empty string as a default value). This behavior more closely matches the intention of the schema, but is not backwards compatible with previous behavior.
New Support for Schema-less JSON Encoding and Decoding¶
This release introduces the ability to encode and decode JSON strings using the
baljsn
package. The new componentbaljsn::DatumUtil
provides a schema-less conversion between JSON text andbdld::Datum
.DatumUtil
is adapted fromdlcjsn::DataUtil
, developed by the App Frameworks team. This release also adds a new component,baljsn::SimpleFormatter
providing a general-purpose interface for rendering JSON text (SimpleFormatter
is now the preferred alternative to the existingbaljsn::Formatter
component).
Performance Improvements for bdlcc::BufferedSequentialPool
¶
The
bdlcc::BufferedSequentialPool
class has been changed so that its constructor no longer creates abdlcc::SequentialPool
object at construction, but rather defers its creation until an attempt to allocate memory goes beyond the capacity of the user supplied buffer. This change speeds construction and destruction of theBufferedSequentialPool
in the usual case, where all allocation comes out of the buffer passed at construction. This also improves types that usebdlcc::BufferedSequentialPool
, includingbdlcc::BufferedSequentialAllocator
,bdlcc::LocalSequentialAllocator
,bdema_BufferedSequentialPool
, andbdema_BufferedSequentialAllocator
.
Fixed requests: 3.41.0¶
Summary |
---|
[bsl] type_index not working with unordered_map |
Reduce size of BDE-related DPKGs |
XML encoder encodes aggregates with nillable+nullable fields wrong |
Validate Visual Studio 2019 (v142) build of BDE |
baexml_SchemaParser fails to distinguish between default=’’ and no default |
Productize a non-schema dependent JSON parser/formatter |
Errors in balxml examples [documentation update] |
bde repo: get BDE building on g++9 -std=C++17 |
Warning using -Wduplicated-branches |
revise ref. to non-existent bdlb_nullinputiterator in bdeut_nullinputiterato |
bslmt_threadutil: Support naming threads on solaris |
bdlma::BufferedSequentialAllocator is mis-optimized |
In bslstl_unorderedmap test driver, is few places COMP instead of EQUAL |
EventScheduler::d_waitCount is uninitialised |
native_std::hash<bsl::type_index> compile failures in BDE |
[bsl] bad documentation in ‘bsls_nativestd’ |
[bsl] type_index test driver does not build on MSVC 2015 and later (compile |
[bsl] improve quality of bsls_platform report on supported macros |
[bsl] Many warnings for Solaric gcc in the nightly builds |
bsls_stackaddressutil test driver case 7 fails on 64 bit Windows |
inteldfp has incomplete bde metadata |
advanceTime() call hangs if use EventScheduler + EventSchedulerTimeSource + |
please correct widespread baexml_encoder.t and baejsn_encoder.t failures |
bdema_bufferedsequential*.t fix failing test cases |
bdlma_BufferedSequentialPool::release does not fulfill its contract |
balxml_decoder test fails to compile on 64 bit windows without /bigobj |
Please add a component documentation secion on Decimal user-defined literal |
Cleanup trailing spaces in bde/bde |