Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Serialized Object Versioning and Version Migration #5

Open
grahamboree opened this issue Jan 1, 2021 · 0 comments
Open

Serialized Object Versioning and Version Migration #5

grahamboree opened this issue Jan 1, 2021 · 0 comments
Assignees
Labels
feature A new feature

Comments

@grahamboree
Copy link
Owner

This is extremely useful for things like writing save games while the game is in development. Often times we have long-lived serialized data, which corresponds to an object type that evolves over time in ways that are not backwards-compatible. In these situations, it's necessary to write a custom process of migrating the older data to the newer format.

There are two aspects of this:

  • Add a type annotation to specify a current "version" number for a serialized object.
  • Add a process to register a custom version migration function. This function would convert the data in an older format into a newer format. The registration process should allow for complex version matching predicates such that it's easy to define migrations like: "any version less than 3 to version 7", "any unknown version to version 9", "version 8 to version 9" etc...
@grahamboree grahamboree added the feature A new feature label Jan 1, 2021
@grahamboree grahamboree self-assigned this Jan 1, 2021
@grahamboree grahamboree added this to the v1.0 milestone Jan 3, 2021
@grahamboree grahamboree removed this from the v1.0 milestone Aug 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature A new feature
Projects
None yet
Development

No branches or pull requests

1 participant