Boost logo

Boost Users :

Subject: Re: [Boost-users] [serialization] class versioning changes in boost 1.42
From: Jarl Lindrud (jlindrud_at_[hidden])
Date: 2010-02-24 19:30:13


Robert Ramey <ramey <at> rrsd.com> writes:

> > (1) Archives created with *older* versions of Boost are not
> > guaranteed to be readable in *newer* versions of Boost (as the OP has
> > discovered).
>
> The intention is that archives created by older versions of the librar
> and previous versions of the application are guarenteed to be
> readable by later versions or both. If this does in fact occur,
> I would consider it a mistake.
>

In that case, the issue David encountered is unambiguously a bug in
Boost.Serialization, and should be fixed in a future version of Boost.

Out of curiosity, do you store the Boost version number, or something
equivalent, when creating an archive? If not, how do you make changes to the
archive format (e.g. the change David found in 1.42.0) without breaking old
archives?

> > (2) Conversely, there is no mechanism by which archives created with
> > a *newer* Boost version can be guaranteed to be readable by a
> > specific *older* version of Boost.
>
> This is true. I don't see anyway of making such a guarentee and
> I don't seen any utility in being able to do this.
>

How would an application ever be able to exchange data with older, deployed,
versions of itself, without this capability?

> > Consequently:
>
> > (3) It is not generally possible to write a program capable of
> > reading archives that have been written by multiple distinct versions
> > of itself.
>
> Since (1) is not true, this does not follow.

Your response to David seemed to be essentially "too bad, maybe you can find a
way around it yourself", so I can't see that (1) is being taken very seriously.

>
> > (4) It is not generally possible to write a program capable of
> > writing archives that will be readable by multiple distinct versions
> > of itself.
>
> Same as above.

Not sure what you mean...

>
> I'm not unsympathetic, but honestly, I can't forsee everything - though
> I try.

Of course... The point is that with a robust versioning scheme in place,
archive format changes can be implemented without breaking older software.

Regards,
Jarl.


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