Boost logo

Boost :

Subject: [boost] Candidate for 1.66.1, if there is one
From: James E. King, III (jking_at_[hidden])
Date: 2017-12-23 15:58:45


In Boost 1.66.0, there was a fix to date_time for the year 2038 problem:

https://github.com/boostorg/date_time/pull/35

The serialization code in date_time had no static assertions enforcing the
size of data values, and adding proper versioning support was missed in the
release by myself and not picked up in the code reviews. As a result,
serializing in anything written by earlier boost versions fails for
date_time related structures, which might be considered serious enough to
justify a 1.66.1 release. (We could also get the latest msvc compatibility
in there I suppose...)

I'm adding proper versioning right now, however Boost 1.66.0 will remain a
problem since it serializes in/out as Version 0 with 64-bit values; and
1.65.1 serializes in/out Version 0 with 32-bit values so I'm not certain
there will be a way to detect this issue.

The issue is recorded in github here:

https://github.com/boostorg/date_time/issues/56

Any additional thoughts are appreciated. I'm looking at adding a test to
write out a version 0 and then read it in when the current version is 1,
but I don't want to add test-only support code to the headers that get
shipped, so if anyone can point me at a current example unit test that
writes out a "n-1" version and then reads in a "n" version with
boost::serialization I would appreciate it.

Thanks,

Jim


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk