Boost logo

Boost Users :

Subject: Re: [Boost-users] [serialization] class versioning changes in boost 1.42
From: Robert Ramey (ramey_at_[hidden])
Date: 2010-02-28 11:46:07


Jarl Lindrud wrote:

> Even if there have been no changes to my classes, there have been
> changes to Boost.Serialization archive formats between 1.35.0 and
> 1.42.0.

I am not aware of any such changes. It's possible that there might
be a few special internal types which could be a problem. I think
I've trapped that situation, but as I write this, I don't remember.

Are you saying that 1.42.0 can "tweak" the archives so that
> they will be readable by 1.35.0 ? If not, how is the 1.35.0-based
> server ever going to be able to receive messages from the
> 1.42.0-based client?

No such tweaking should be necessary. Archive format is
unchanged between boost versions. The only thing that
changes are the changes in users classes. The user has
to make special provision for such changes.

>> I'll add language to the documentation so that it's clear one should
>> not use a number larger than 255 as a class version number. And
>> I'll enhance the code to trap on violations of this rule in the
>> future.

> What about the "guarantee" of backwards compatibility? Do you still
> feel that is an accurate description?

I do.

With proper usage of the library, users can be confident that current
programs can read archives created by the very earliest version of
the library. This particular case is the first time it has been reported
that an archive made by previous version of the library fails to load.

Robert Ramey


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net