I think it would be valuable to start versioning our platform API. We could then provide nice error messages when your roc version is not compatible with your platform.
I had been thinking about this because merging the simple-c-abi branch will break all current platforms.
I'd been assuming this would be part of the language version - e.g. we consider it a major language version bump if it's breaking for platform authors
That works, I feel like we should not wait too long with a numbered roc release. So that when people find a package or platform that is not completely up-to-date, they can instantly get the roc release included with the platform/package and everything works. It's also easy to upgrade that way, you go through the list of published breaking changes, starting from the specified version.
I would not worry too much about the implied reliability that comes with a numbered release, as long as we mention the expected reliability in enough places.
Personally if I saw anything labelled as being a "0.X.X" version or whatever, I'd take that as a pretty explicit "this is not finished" message, and so I would at most be mildly annoyed if some breaking change came in.
15 messages were moved from this topic to #ideas > numbered roc release by Anton.
just to elaborate on why I've thought of this as a "platform interface is versioned with language interface" - thinking ahead, I think it could be confusing to try to talk about two different version numbers.
"I'm not seeing that behavior. Are you sure you're building on 0.2.0?"
"Oh wait, did you mean language 0.2.0 or platform 0.2.0?"
Last updated: Jun 16 2026 at 16:19 UTC