[WIP] Add facility to assure backwards compatibility for objects that need to remain backwards compatibility #75
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Type of PR:
Required reviews:
What this does:
We need a facility to assure that some objects remain backwards compatible. Examples of where this is needed is for protocol objects that may be persisted and then processed by later versions of the
nucypher-core
library eg. MessageKits i.e. encrypted data. These protocol types need to be "perpetually" backwards compatible. If any backwards incompatible changes are needed for types that are supposed to always remain backwards compatible, then a brand new type should be created/added.There are legacy protocol object types that have already made major version changes that should have remained backwards compatible; it's possible that it was versioned during development but earlier versions were never released.
Existing legacy objects that probably need to be specified as "must remain backwards compatible" on such a facility is established:
Issues fixed/closed:
Why it's needed:
Notes for reviewers: