Boost logo

Boost :

Subject: [boost] [serialization] Back Versioning issue
From: Janusz Zradomia (tiguask_at_[hidden])
Date: 2016-03-02 06:51:34


We want to use boost::serialization with boost::asio in one of our
software, but we have a critical issue which prevents our further work.

It refers to the "Back Versioning" known problem in TODO section:
"It has been suggested that a useful feature of the library would be the
ability to create "older versions" of archives. Currently, the library
permits one to make programs that are guaranteed the ability to load
archives with classes of a previous version. But there is no way to save
classes in accordance with a previous version. At first I dismissed this as
a huge project with small demand. A cursory examination of the code
revealed that this would not be very difficult. It would require some small
changes in code and some additional tests. Also it would require special
treatment in the documentation - perhaps a case study. "

*We want to ask what is status of this issue and can we expect to fix this
in near future.*
This is a networking project, our program compiled with e.g. boost 1.62 or
some future version must create archives that can be (sent over the network
and then) read on the program compiled with older version like 1.57 for
example (as now available by default of Windows/cygwin).

We would hope that we can do something like;
Archive ar;
ar.set_compatibility_boost_version(1, 55);
ar << ...

We would also need to backport the patch to older version of boost archive,
so they also can write archives readable by (even older) versions.

In the end we expect to run machines with:
boost 1.55 (plus patch to set compatibility)
boost 1.57 (plus patch to set compatibility)
boost 1.58 (plus patch to set compatibility)
boost 1.62 (perhaps by default with the set compatibility option)

and each of this computers needs to write archive readable by all other
versions (set they would all set compatibility to lowest common version).

Without this functionality we can not use boost archive in this project. We
would like to help you test/backport this fix and perhaps even try to code
it, although we do not yet have any experience in writing code for boost
library itself.
Can we expect this functionality to be written in e.g. this year?

Best regards


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