Back to Wasi

WASI proposals

docs/Proposals.md

0.2.119.2 KB
Original Source

WASI proposals

WASI APIs are developed as proposals. These proposals go through 5 phases of development (following the WASI Subgroup's Phase Process).

You can learn more about contributing new proposals (and other ways to contribute) in our Contributing guide.

Active Proposals

Phase 5 - The Feature is Standardized (WG)

ProposalChampionVersions

Phase 4 - Standardize the Feature (WG)

ProposalChampionVersions

Phase 3 - Implementation Phase (CG + WG)

ProposalChampionVersions
I/ODan Gohman
ClocksDan Gohman, Colin Murphy
RandomDan Gohman, Roman Volosatovs
FilesystemDan Gohman, Victor Adossi
SocketsDave Bakker
CLIDan Gohman, Lann Martin
HTTPPiotr Sikora, Jiaxiao Zhou, Dan Chiarlone, David Justice, Luke Wagner

Phase 2 - Proposed Spec Text Available (CG + WG)

ProposalChampionVersions
Clocks: TimezoneDan Gohman, Colin Murphy
CLI: Exit With CodeDan Gohman, Lann Martin
HTTP: Informational Outbound ResponsePiotr Sikora, Jiaxiao Zhou, Dan Chiarlone, David Justice, Luke Wagner
I2CFriedrich Vandenberghe, Merlijn Sebrechts, Maximilian Seidler
Key-value StoreJiaxiao Zhou, Dan Chiarlone, David Justice
Machine Learning (wasi-nn)Andrew Brown and Mingqiu Sun
Runtime ConfigJiaxiao Zhou, Dan Chiarlone, David Justice
GFXMendy Berger, Sean Isom
MessagingJiaxiao Zhou, Dan Chiarlone, David Justice, Taylor Thomas

Phase 1 - Feature Proposal (CG)

ProposalChampionVersions
Blob StoreJiaxiao Zhou, Dan Chiarlone, David Justice
CryptoFrank Denis and Daiki Ueno
GPIOMerlijn Sebrechts, Maximilian Seidler
Distributed Lock ServiceJiaxiao Zhou, Dan Chiarlone, David Justice
LoggingDan Gohman
ObserveCaleb Schoepp
ParallelAndrew Brown
Pattern MatchJianjun Zhu
SPIMerlijn Sebrechts
SQLJiaxiao Zhou, Dan Chiarlone, David Justice
SQL EmbedRobin Brown
ThreadsAlexandru Ene, Marcin Kolny, Andrew Brown
TLSJoel Dice, Dave Bakker, James Sturtevant
URLRadu Matei
USBWouter Hennen, Warre Dujardin, Merlijn Sebrechts
OTelCaleb Schoepp, Andrew Steurer

Phase 0 - Pre-Proposal (CG)

Note: The pre-proposal phase is simply meant as a way to share ideas. This means that there may be overlap between pre-proposals. It also means that the WASI subgroup has not yet decided that the pre-proposal is in scope for WASI.

ProposalChampionVersions
proxy-wasm/spec (will advance as multiple, smaller proposals)Piotr Sikora

Versioning

Once a proposal reaches Phase 3, we expect the champions to start creating releases, following the conventions of semantic versioning (semver). Releases for active proposals are linked in the chart above.

Proposals remain in the 0.x semver range until they reach Phase 5 and are fully standardized. At that point, a 1.0 release should be made available.

For some APIs, it makes sense to add new features after the API itself has reached Phase 5. These feature additions should go through the same standardization process. Once they have reached Phase 5, the minor version number of the release should be incremented.

Some APIs may require backwards-incompatible changes over time. In these cases, we allow proposals to increment the major version number only if the old API can be implemented in terms of the new API. As part of the new version, champions are expected to provide a tool that enables this backwards-compatibility. If that is not possible, then a new API proposal with a new name should be started. The original API can then be deprecated over time if it makes sense to do so.