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-28 05:37:30


> LOL - Microsoft 2003 cannot load files created by Microsoft
> word 2007 unless they are specifically saved with that compatibility
> in mind.
>

Exactly, glad we've got that sorted. This kind of compatibility is of great
utility, and there's nothing "logically impossible" about it.

> > And as you yourself acknowledged, in regard to point 2 in my very
> > first post, archives created with newer Boost versions are not
> > guaranteed to be readable by older Boost versions.
>
> This is of course not true. One thing is Boost version. Class

You're contradicting yourself... In your reply to my first post you stated the
following:

------------------------------------------------------------------------
> (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.
------------------------------------------------------------------------

But just now, when I repeated point 2, you stated that "This is of course not
true"...

Which way do you want it?

> >>> Networked applications need this capability as well. E.g. a newly
> >>> developed client needs to be able to communicate with any number of
> >>> older, deployed, servers.
>
> It can and it does.
>
> >> This capability is and has always been part of the serialization
> >> library. It it included in the documentation, demos and tests.
> >> Please read the documentation.
> >>
> >
> > If the previously deployed servers use Boost 1.35.0, say, and my new
> > client uses Boost 1.42.0, how can you claim that the new client will
> > be able to send valid messages to the older servers? The
> > Boost.Serialization documentation explicitly states that such
> > compatibility is *not* supported (To Do -> Back Versioning). You even
> > said so in earlier posts.
>
> LOL
>
> > What am I missing?
>
> You're totally lost here. I think I see it now. And this has in fact

Robert, as you've stated previously:

--------------------------------------------------------------
> Networked applications need this capability as well. E.g. a newly
> developed client needs to be able to communicate with any number of
> older, deployed, servers.

  This capability is and has always been part of the serialization library.
  It it included in the documentation, demos and tests. Please read the
  documentation.
--------------------------------------------------------------

Perhaps you can explain, then, how my 1.42.0-based client will be able to send
intelligible messages to my 1.35.0-based server?

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. 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?

>
> 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?

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