How do I know that I can safely upgrade Boost Serialization Library on a production system without breaking compatibility with the existing data ? Is there any test that I should perform in order to be sure that all data stored in the binary format by previous version of the library will be successfully read by the new one ? Does Boost Serialization library itself guarantee some sort of compatibility between versions ?
The library Boost. Serialization makes it possible to convert objects in a C++ program to a sequence of bytes that can be saved and loaded to restore the objects. There are different data formats available to define the rules for generating sequences of bytes. All of the formats supported by Boost.
Serialization is the process of writing or reading an object to or from a persistent storage medium such as a disk file. Serialization is ideal for situations where it is desired to maintain the state of structured data (such as C++ classes or structures) during or after execution of a program.
Boost.serialization is backward-compatible but is not guaranteed to be forwards compatible.
This means:
If you send messages between a client and a server in both directions, for instance, you may have to upgrade the version of boost on both in lockstep.
The 'wire format' does not change with every version of boost. So between 2 specific versions of boost, you may have no problem - I can't find specific documentation of which version of the archive format is used within which version of boost.
Note also that while backwards compatibility is 'guaranteed', that's just expressing an intent - although I guess you could get your money back ;-). Boost versions 1.42 and 1.43 had a bug that meant later versions cannot read them back - see the 1.45 release notes.
The initial Release was in Boost 1.32. It appears you can view the release history since then here: http://www.boost.org/doc/libs/1_43_0/libs/serialization/doc/release.html
Other than that I'd suggest asking on the boost mailing list: http://www.boost.org/community/groups.html#users
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With