This needs rethinking. Currently each change to the file format gets a new version number, and the program refuses to deal with anything from the future, meaning that any small change breaks backward compatibility.
Suggestion 1: include two numbers in the file: current version and oldest (potentially) compatible version. From previous experience this approach is a bit inexact and error-prone.
Suggestion 2: use only a "major" version number which doesn't usually change and add "features".
Suggestion 3: use only a "major" version number and just let the program "panic" when it finds something strange.
This needs rethinking. Currently each change to the file format gets a new version number, and the program refuses to deal with anything from the future, meaning that any small change breaks backward compatibility.
Suggestion 1: include two numbers in the file: current version and oldest (potentially) compatible version. From previous experience this approach is a bit inexact and error-prone.
Suggestion 2: use only a "major" version number which doesn't usually change and add "features".
Suggestion 3: use only a "major" version number and just let the program "panic" when it finds something strange.