To avoid conflict with the SERIALIZATION_VERSION, a different number VERSIONING_VERSION is used to record the version of the versioning scheme that has been used. A specific header type has been created that will be embed inside the serialized packet and records if the message is versioned or not. To be compatible with other message serialized with previous 0.6, this header is not used for messages that are not versioned.
However this might be useless in the future since the SERIALIZATION_VERSION should not evolve anymore when versioning will be used by default.
Check-list:
[x] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)
[ ] Relevant issues are marked as resolved/closed, related issues are linked in the description
[ ] Check for breaking changes (including serialization changes) and add them to commit message following the conventional commit specification
closes: please link all relevant issues
PR content/description
Adds a few methods for versioned serializations:
safe_serialize_versioned
safe_deserialize_versioned
safe_deserialize_conformant_versioned
To avoid conflict with the
SERIALIZATION_VERSION
, a different numberVERSIONING_VERSION
is used to record the version of the versioning scheme that has been used. A specific header type has been created that will be embed inside the serialized packet and records if the message is versioned or not. To be compatible with other message serialized with previous 0.6, this header is not used for messages that are not versioned.However this might be useless in the future since the SERIALIZATION_VERSION should not evolve anymore when versioning will be used by default.
Check-list: