I'm just trying to address the issue of forcing a requirement to update existing .arduboy files. That's why it would be nice to know how easily it could be handled by all the loaders. Note that the plan would be to deprecate the current "screenshots" format, but not eliminate it, and possibly not accept any new .arduboy files submitted with the old format.
However, if you want to switch to only the new format, and update all existing .arduoby files, and tell people who are just about to submit a file that they have to go back and change it, and deal with currently submitted files that are locked in a repository that's no longer maintained because the authors have dissapeared so people can't grab them from the repository for use in their own loader, then be my guest. Once a format is in general use, it helps if backwards compatibility can be retained. It's up to you and the other loader developers to decide if the .arduboy format is in general use yet.
Have you looked at the various iterations of the (so called) Microsoft Word "standard"
You can't foresee the possibility that some day you may wish to totally overhaul the format such that you would need a lot of "if/then/else", etc., tests for tons of fields order to handle all the possibilities. At some point it may be easier for the loader to just do:
- If jsonVersion = 1, parse version 1 format
- else if jsonVersion = 2, parse version 2 format (no need to deal with any V1 formatting)
- else, error
It's entirely possible that the version will remain at 1 forever, but including "jsonVerson" in the spec. and testing for it in the loader isn't a big deal and makes things more future proof.