Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
-
None
Description
From version 1.x to 2.x we broke XCAS compatibility. (v2.x can read v1.x XCASes but not vice-versa.) We've been thinking we might want to have a version number on the XCAS so that we can detect an incompatibility and report a good error message.
It occurs to me that what changed here is not the XCAS syntax, but the built-in CAS type system. In v2.x the annotation type changed (the "sofa" feature became a reference instead of an int). Also new primitive types and new array types were added.
So perhaps the right thing to do is to have a version number on the CAS built-in type system, and dump that version number in our XCAS (and XMI) serializations.
I'm not sure if it's right to just use the framework version number (which might lock us into a versioning scheme such as agreeing not to add new built-in types without incrementing the major version number), or having a completely separate version number just for the built-in type system?