Has something already documented how the WIT specification will be evolved and versioned?
I understand wasi wit files tend to have a 0.2.0 version number for now. That's good for their files but I don't know what version of the WIT specification they are built with. What if one wants to document the version of the WIT specification that something is being built against? Do we use a git hash against the WebAssembly/component-model repo? Or maybe a commit hash where the repo's design/mvp/WIT.md was actually updated?
Is a breaking change ever going to be allowed in the specification's evolution?
Hey, you can find some information regarding WIT versioning here
Maybe that is specific to the WASI features? The ones that are defined with WIT files? But about the WIT definition itself, I can't find examples of tools or documents that say what version of the WIT spec they are based on. WIT is still being modified I think? Like what are its reserved words, what are the semantics of those reserved words, what are the rules for building one WIT object from other WIT objects in the same or different files and directories.
Currently WIT does not itself have an official version. WASI files are likely going to keep up with the current documentation in the component-model repo, such as using @since
and @unstable
when they're implemented. It's so early in WIT's lifetime it's pretty doubtful that any guarantee along the lines of "until the end of time this is frozen". That being said given the usage of WIT now any breaking change would be accompanied with a transitionary period at the very least.
Thank you for that response. I wish there were a name you and the primary stack holders were comfortable using for the current WIT but I will just go with using the repo name and the date. (I'm sorry if my question seemed to imply I was looking for things to be frozen. I know there is a lot of thought and work going into this area and things will change; that's why I was looking for a versioning or naming convention.)
Aside from keywords, I'm interested in how a larger project could organize its ".wit" files and the "deps" directories and wasn't sure if the "deps" use was part of the WIT specification or just what the tools had come up with so far to handle type reuse.
Thanks again.
Frank Rehwinkel has marked this topic as resolved.
Oh the frozen bits was referring to your question of if there were going to be breaking changes. Nothing major planned right now, but I can't speak for us-in-six-months.
For organization the deps
folder is pseudo-official sorta. Not fully specified but implemented in wit-parser which many parser pieces use
Last updated: Dec 23 2024 at 12:05 UTC