Stream: ideas

Topic: platform api versioning


view this post on Zulip Anton (Nov 25 2023 at 09:58):

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.

view this post on Zulip Anton (Nov 25 2023 at 10:02):

I had been thinking about this because merging the simple-c-abi branch will break all current platforms.

view this post on Zulip Richard Feldman (Nov 25 2023 at 12:11):

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

view this post on Zulip Anton (Nov 25 2023 at 13:04):

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.

view this post on Zulip Declan Joseph Maguire (Nov 25 2023 at 13:28):

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.

view this post on Zulip Notification Bot (Nov 25 2023 at 13:35):

15 messages were moved from this topic to #ideas > numbered roc release by Anton.

view this post on Zulip Richard Feldman (Nov 25 2023 at 13:38):

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