Yes, "schemaVersion" has been added. The best way to determine what's in the current info.json schema, is by looking at it.
Note that even though the info.json has changed in non backwards compatible ways since its inception, the current version is still considered to be Version 1 and including a "schemaVersion" field is optional. So yes, "old" versions are broken without a straightforward way of determining this.
This is because there currently exists .arduboy files with either old or new info.json files that both don't contain the "schemaVersion" field. We don't want to have to again go back and add "schemaVersion" to new format files. So, we're already in a situation where there's no "schemaVersion" field to determine if it's the old or new format.
We're currently in a chaotic situation where an info.json file with no "schemaVerson" field is considered to be Verson 1. The old non-compatible versions are considered to be beta.
A loader can choose to either reject an info.json that isn't in the current format, or support the older beta format as well as the new V1 format, by checking and handling the differing field types within in the incompatible fields ("binaries" and "screenshots").
In the future, if info.json becomes non backwards compatible, "schemaVersion" would be changed to require a value of 2 and be made a "required" field.