Skip to content

BDE 3.1 Release Notes

Oleg Subbotin edited this page Jun 6, 2017 · 2 revisions

BDE 3.1: Release Notes

Schedule

The BDE team is pleased to announce that the BDE Release 3.1 was completed on Monday, May 15, 2017

BDE 3.1 Highlights

bdlt::Time and bdlt::DatetimeInterval: Have Microsecond Resolution

The bdlt::Time and bdlt::DatetimeInterval classes have been enhanced to now provide microsecond resolution. (Previously, those classes provided millisecond resolution.)

Users of bdlt::Time and bdlt::DatetimeInterval must be aware of two other changes that are concomitant with the increased precision:

  • The size of each class has increased by four bytes:

    Class Old Size New Size
    bdlt::Time 4 bytes 8 bytes
    bdlt::DatetimeInterval 8 bytes 12 bytes
  • The output format of the print method and free operator<< methods now show six decimal places for the time value. (Previously, three decimal places were shown.)

Encoders/Decoders

The encoder/decoder classes for the BER, JSON, and XML protocols can now support microsecond resolution (i.e., up to six places to the right of the decimal point). See the datetimeFractionalSecondPrecision attribute of the encoder options classes for each protocol. The default value for encoding precision depends on the protocol.

Protocol Default datetimeFractionalSecondPrecision
BER 3 places to the right of the decimal point
JSON 3 places to the right of the decimal point
XML 6 places to the right of the decimal point

bdld::Datum

The bdld::Datum class now implicitly handles time values with microsecond resolution.

bdlt_calendarutil

The bdlt_calendarutil component provides a suite of functions for date calculations based on a specified bdlt::Calendar object.