The serialization of Class objects should be tested across versions.
An archive file of serialized class objects would provide a reference.
De-serializing the class objects and some checks identifies incompatibilities between older versions and other versions.
The class objects archived should include public and protected classes in all modules.
A provision may be needed to ignore some kinds of incompatibilities that are identified.
The archive should be updated for each release to capture classes added during the release.