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