I just ran some tests on Windows, and I can confirm the problem.
Here is output from serialization of an std::vector
where the class X has an empty serialization function.
Boost 1.34.1:
<v class_id="0" tracking_level="0" version="0">
<count>2</count>
0
<item class_id="1" tracking_level="1" version="0" object_id="_0"></item>
<item class_id_reference="1" object_id="_1"></item>
</v>
Boost 1.35:
<v class_id="0" tracking_level="0" version="0">
<count>2</count>
<item class_id="1" tracking_level="1" version="0" object_id="_0"></item>
<item class_id_reference="1" object_id="_1"></item>
</v>
This is a *major problem* for us, because we will release a new version of our app soon.
The app has "Export" and "Import" functions that are implemented using Boost.Serialization.
It is required that files that have been exported with one version of our app
can be imported with a later version.
Is there a patch for this problem yet?
Thank you,
Johan Råde