Replies: 3 comments 1 reply
-
Going forward, it would be good to have a new BMI release about once/year. |
Beta Was this translation helpful? Give feedback.
-
A counterargument: we don't want interfaces to change very often! Maybe we should instead gather all of our changes into an experimental branch (@mcflugen's idea) and just do a BMI 3.0 release a few years from now. This is where I'm happy we have the collective wisdom of the BMI Council. |
Beta Was this translation helpful? Give feedback.
-
@mdpiper What do you think it is about BMI that will make semantic versioning tricky? In my mind, interfaces like BMI is exactly what semantic versioning was created for. I think a BMI v2.1 release this fall with some non-controversial additions (e.g. a function to get the implemented BMI version) would be a good idea for the reasons you list. I'm not so sure about a new release once a year, though. It might be ok if the releases only contain new features but we don't want to create a moving target for implementors. We also don't want to keep adding more and more functions to the BMI as we want it to be lean and mean. Maybe we could spread releases out by throwing in a few extensions between new BMI v2 releases? If we want to release a BMI v3, which will by definition contain breaking changes, it should be in a beta stage for some time so that users know it's experimental. I would expect that the only people implementing it or writing tools for it would be BMI super fans like ourselves who are interested in testing it. Both BMI v2 and BMI v3 models would exist alongside one another for quite a while, I would expect. |
Beta Was this translation helpful? Give feedback.
-
I'd like to propose we release a new BMI version this fall. My motivation:
It's tricky to do semantic versioning on an interface, but I propose "BMI v2.1" as a good-faith label for the release, since it extends BMI v2.0 without structural changes (that's BMI v3.0!). I've grouped some "low-hanging fruit" issues into a milestone that when completed could be organized into a release.
Please let me know what you think in the comments.
Beta Was this translation helpful? Give feedback.
All reactions