Hey, designing a file format or network protocol? Let me give you one tip that I keep hearing people call unnecessary, and I keep coming to projects and having to work around it:

Add a simple SemVer version number.

Somewhere right at the start of the file, in the first message, or included in every JSON endpoint's response.

Nothing fancy, just a major and minor number. If the major is bigger than your client's, tell the user to update. Remember to increment the minor with each change.

@uliwitness Those that make the claim that implementing cross-version support is unnecessary are probably best ignored.

I omitted that in a long-ago design, and had to hack around the mess when protocol changes were first needed.

A familiar implementation of this requirement is TLS, too.