Add version to MNX documents #301
Replies: 3 comments 3 replies
-
Does MNX need the granularity of minor and patch version numbers? What would they be intended to communicate? Assuming the versioning would conform to SemVer, bumping the minor or patch versions would indicate non-breaking changes to the spec. But is it logically possible to make a non-breaking change to a standard like MNX? If it is, what would be some good examples? And do we really need both a minor and patch version? |
Beta Was this translation helpful? Give feedback.
-
Please no. Prefer objects for things that have positional fields. Arrays for dynamic-length lists of the same "thing". IMO there is nothing wrong with Semver in MNX could be defined as Major: breaking changes, e.g. a field is removed or renamed breaking backward compatibility |
Beta Was this translation helpful? Give feedback.
-
After discussing with my fellow co-chairs in our biweekly chat, I've just pushed commit a09d15e. This documents a new top-level All example documents now have this data, so you can see it in action. |
Beta Was this translation helpful? Give feedback.
-
Already realizing that we will need a "version" attribute in the root element. My preferred ways are either to use an object with mixed ints and strs/enums:
or two attributes, one an array of ints, the other a str/enum:
acceptable also is
[0, 1, 0, "a"]
style, but I think this makes comparisons harder. But definitely not a string that has to be parsed like"version": "0.1.0a2"
Reserving odd minor numbers for releases and even for beta (or vice-versa) is also generally a good plan.
If you don't care that all your major releases are numbered 1.1, 2.1, etc. and not 1.0, 2.0, etc. then it's pretty easy to filter by major releases and beta status. (This is what music21 adopted)
Beta Was this translation helpful? Give feedback.
All reactions