diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index ed406c5..c5740dc 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -16,6 +16,4 @@ jobs:
curl -Lo 'wit-deps' https://github.com/bytecodealliance/wit-deps/releases/download/v0.3.2/wit-deps-x86_64-unknown-linux-musl
chmod +x ./wit-deps
./wit-deps lock --check
- - uses: WebAssembly/wit-abi-up-to-date@v16
- with:
- wit-bindgen: '0.15.0'
+ - uses: WebAssembly/wit-abi-up-to-date@v17
diff --git a/proxy.md b/proxy.md
index 7781e3b..5a249a4 100644
--- a/proxy.md
+++ b/proxy.md
@@ -6,26 +6,26 @@ outgoing HTTP requests.
-
+
WASI Random is a random data API.
It is intended to be portable at least between Unix-family platforms and
Windows.
@@ -58,7 +58,7 @@ represented as a u64
.
-
+
Types
@@ -93,7 +93,7 @@ hazard.
-
+
A poll API intended to let users wait for I/O events on multiple handles
at once.
@@ -143,7 +143,7 @@ being reaedy for I/O.
-
+
WASI I/O is an I/O abstraction API which is currently focused on providing
stream types.
In the future, the component model is expected to add built-in stream types;
@@ -468,7 +468,7 @@ is ready for reading, before performing the splice
.
-
+
Types
@@ -481,7 +481,7 @@ is ready for reading, before performing the splice
.
-
+
Types
@@ -494,7 +494,7 @@ is ready for reading, before performing the splice
.
-
+
Types
@@ -507,7 +507,7 @@ is ready for reading, before performing the splice
.
-
+
WASI Monotonic Clock is a clock API intended to let users measure elapsed
time.
It is intended to be portable at least between Unix-family platforms and
@@ -568,7 +568,7 @@ occured.
-
+
This interface defines all of the types and methods for implementing
HTTP Requests and Responses, both incoming and outgoing, as well as
their headers, trailers, and bodies.
@@ -1454,7 +1454,7 @@ but those will be reported by the incoming-body
>, error-code
>>>
-
+
This interface defines a handler of outgoing HTTP Requests. It should be
imported by components which wish to make HTTP Requests.
@@ -1491,7 +1491,7 @@ through the future-incoming-response
>, error-code
>
-
+
WASI Wall Clock is a clock API intended to let users query the current
time. The name "wall" makes an analogy to a "clock on the wall", which
is not necessarily monotonic as it may be reset.
@@ -1532,7 +1532,7 @@ also known as Unix Time.
-
+
Types
diff --git a/wit/deps.lock b/wit/deps.lock
index fa5d568..96be4b2 100644
--- a/wit/deps.lock
+++ b/wit/deps.lock
@@ -1,29 +1,29 @@
[cli]
url = "https://github.com/WebAssembly/wasi-cli/archive/main.tar.gz"
-sha256 = "754f9d1de112e106cc7131b79b1efd29340f9d6191699f224835fd41521ba386"
-sha512 = "908a67492c05f752b0152646e5acdccdde89d8b303db254bf462d2e6714c420d80ebebc46ab75b8953c060a06ea06d99d55b523f6aa09e2f4f16d5e63649f0ea"
+sha256 = "285865a31d777181b075f39e92bcfe59c89cd6bacce660be1b9a627646956258"
+sha512 = "da2622210a9e3eea82b99f1a5b8a44ce5443d009cb943f7bca0bf9cf4360829b289913d7ee727c011f0f72994ea7dc8e661ebcc0a6b34b587297d80cd9b3f7e8"
[clocks]
url = "https://github.com/WebAssembly/wasi-clocks/archive/main.tar.gz"
-sha256 = "89da8eca4cd195516574c89c5b3c24a7b5af3ff2565c16753d20d3bdbc5fc60f"
-sha512 = "244079b3f592d58478a97adbd0bee8d49ae9dd1a3e435651ee40997b50da9fe62cfaba7e3ec7f7406d7d0288d278a43a3a0bc5150226ba40ce0f8ac6d33f7ddb"
+sha256 = "468b4d12892fe926b8eb5d398dbf579d566c93231fa44f415440572c695b7613"
+sha512 = "e6b53a07221f1413953c9797c68f08b815fdaebf66419bbc1ea3e8b7dece73731062693634731f311a03957b268cf9cc509c518bd15e513c318aa04a8459b93a"
[filesystem]
url = "https://github.com/WebAssembly/wasi-filesystem/archive/main.tar.gz"
-sha256 = "05952bbc98895aa3aeda6c765a3e521016de59f993f3b60394c724640935c09c"
-sha512 = "2c242489801a75466986fe014d730fb3aa7b5c6e56a230c8735e6672711b58bcbe92ba78a341b78fc3ac69339e55d3859d8bb14410230f0371ee30dbd83add64"
+sha256 = "498c465cfd04587db40f970fff2185daa597d074c20b68a8bcbae558f261499b"
+sha512 = "ead452f9b7bfb88593a502ec00d76d4228003d51c40fd0408aebc32d35c94673551b00230d730873361567cc209ec218c41fb4e95bad194268592c49e7964347"
[io]
url = "https://github.com/WebAssembly/wasi-io/archive/main.tar.gz"
-sha256 = "7a3c644dfd434f77fdf3f3d3b3caaca9538a0ade785167a3cce0321609f9d4e1"
-sha512 = "2888f12b91359d630b4270f60e3c78855d9b305274ebf8a5decaef8698a74cc85c426823dc708b393f461b85ad991711d7400c2b2a24795001db5aee3ae19c70"
+sha256 = "7210e5653539a15478f894d4da24cc69d61924cbcba21d2804d69314a88e5a4c"
+sha512 = "49184a1b0945a889abd52d25271172ed3dc2db6968fcdddb1bab7ee0081f4a3eeee0977ad2291126a37631c0d86eeea75d822fa8af224c422134500bf9f0f2bb"
[random]
url = "https://github.com/WebAssembly/wasi-random/archive/main.tar.gz"
-sha256 = "11afcbff9920f5f1f72b6764d01e59a5faa2c671f0c59f0c9b405778f3708745"
-sha512 = "cc4fa3d178559a89d9d6a376e3359b892158d1e73317c5db1f797ebc6b0b57abf2422797648d5b2b494c50cf9360720bc451cc27e15def7d278ba875805ccbf5"
+sha256 = "7371d03c037d924caba2587fb2e7c5773a0d3c5fcecbf7971e0e0ba57973c53d"
+sha512 = "964c4e8925a53078e4d94ba907b54f89a0b7e154f46823a505391471466c17f53c8692682e5c85771712acd88b348686173fc07c53a3cfe3d301b8cd8ddd0de4"
[sockets]
url = "https://github.com/WebAssembly/wasi-sockets/archive/main.tar.gz"
-sha256 = "9a3816bfa5a8b0673e5651024d8f9a1540f169f6d70f2bde6ee0e8240cd177ee"
-sha512 = "bfcce89127510e16e9e7d7ac058ba3108953067e2d53f05cb1020dadf552738753b7fc9d10797236f2ced089063de7ac853fd9526079758fab1419d9b58a5212"
+sha256 = "622bd28bbeb43736375dc02bd003fd3a016ff8ee91e14bab488325c6b38bf966"
+sha512 = "5a63c1f36de0c4548e1d2297bdbededb28721cbad94ef7825c469eae29d7451c97e00b4c1d6730ee1ec0c4a5aac922961a2795762d4a0c3bb54e30a391a84bae"
diff --git a/wit/deps/cli/command.wit b/wit/deps/cli/command.wit
index a988916..d8005bd 100644
--- a/wit/deps/cli/command.wit
+++ b/wit/deps/cli/command.wit
@@ -1,4 +1,4 @@
-package wasi:cli@0.2.0-rc-2024-01-16;
+package wasi:cli@0.2.0;
world command {
include imports;
diff --git a/wit/deps/cli/imports.wit b/wit/deps/cli/imports.wit
index 8ce1abe..083b84a 100644
--- a/wit/deps/cli/imports.wit
+++ b/wit/deps/cli/imports.wit
@@ -1,11 +1,11 @@
-package wasi:cli@0.2.0-rc-2024-01-16;
+package wasi:cli@0.2.0;
world imports {
- include wasi:clocks/imports@0.2.0-rc-2023-11-10;
- include wasi:filesystem/imports@0.2.0-rc-2023-11-10;
- include wasi:sockets/imports@0.2.0-rc-2024-01-16;
- include wasi:random/imports@0.2.0-rc-2023-11-10;
- include wasi:io/imports@0.2.0-rc-2023-11-10;
+ include wasi:clocks/imports@0.2.0;
+ include wasi:filesystem/imports@0.2.0;
+ include wasi:sockets/imports@0.2.0;
+ include wasi:random/imports@0.2.0;
+ include wasi:io/imports@0.2.0;
import environment;
import exit;
diff --git a/wit/deps/cli/stdio.wit b/wit/deps/cli/stdio.wit
index 1b653b6..31ef35b 100644
--- a/wit/deps/cli/stdio.wit
+++ b/wit/deps/cli/stdio.wit
@@ -1,17 +1,17 @@
interface stdin {
- use wasi:io/streams@0.2.0-rc-2023-11-10.{input-stream};
+ use wasi:io/streams@0.2.0.{input-stream};
get-stdin: func() -> input-stream;
}
interface stdout {
- use wasi:io/streams@0.2.0-rc-2023-11-10.{output-stream};
+ use wasi:io/streams@0.2.0.{output-stream};
get-stdout: func() -> output-stream;
}
interface stderr {
- use wasi:io/streams@0.2.0-rc-2023-11-10.{output-stream};
+ use wasi:io/streams@0.2.0.{output-stream};
get-stderr: func() -> output-stream;
}
diff --git a/wit/deps/clocks/monotonic-clock.wit b/wit/deps/clocks/monotonic-clock.wit
index 09ef32c..4e4dc3a 100644
--- a/wit/deps/clocks/monotonic-clock.wit
+++ b/wit/deps/clocks/monotonic-clock.wit
@@ -1,4 +1,4 @@
-package wasi:clocks@0.2.0-rc-2023-11-10;
+package wasi:clocks@0.2.0;
/// WASI Monotonic Clock is a clock API intended to let users measure elapsed
/// time.
///
@@ -10,7 +10,7 @@ package wasi:clocks@0.2.0-rc-2023-11-10;
///
/// It is intended for measuring elapsed time.
interface monotonic-clock {
- use wasi:io/poll@0.2.0-rc-2023-11-10.{pollable};
+ use wasi:io/poll@0.2.0.{pollable};
/// An instant in time, in nanoseconds. An instant is relative to an
/// unspecified initial value, and can only be compared to instances from
diff --git a/wit/deps/clocks/wall-clock.wit b/wit/deps/clocks/wall-clock.wit
index 8abb9a0..440ca0f 100644
--- a/wit/deps/clocks/wall-clock.wit
+++ b/wit/deps/clocks/wall-clock.wit
@@ -1,4 +1,4 @@
-package wasi:clocks@0.2.0-rc-2023-11-10;
+package wasi:clocks@0.2.0;
/// WASI Wall Clock is a clock API intended to let users query the current
/// time. The name "wall" makes an analogy to a "clock on the wall", which
/// is not necessarily monotonic as it may be reset.
diff --git a/wit/deps/clocks/world.wit b/wit/deps/clocks/world.wit
index 8fa080f..c022457 100644
--- a/wit/deps/clocks/world.wit
+++ b/wit/deps/clocks/world.wit
@@ -1,4 +1,4 @@
-package wasi:clocks@0.2.0-rc-2023-11-10;
+package wasi:clocks@0.2.0;
world imports {
import monotonic-clock;
diff --git a/wit/deps/filesystem/preopens.wit b/wit/deps/filesystem/preopens.wit
index 95ec678..da801f6 100644
--- a/wit/deps/filesystem/preopens.wit
+++ b/wit/deps/filesystem/preopens.wit
@@ -1,4 +1,4 @@
-package wasi:filesystem@0.2.0-rc-2023-11-10;
+package wasi:filesystem@0.2.0;
interface preopens {
use types.{descriptor};
diff --git a/wit/deps/filesystem/types.wit b/wit/deps/filesystem/types.wit
index 059722a..11108fc 100644
--- a/wit/deps/filesystem/types.wit
+++ b/wit/deps/filesystem/types.wit
@@ -1,4 +1,4 @@
-package wasi:filesystem@0.2.0-rc-2023-11-10;
+package wasi:filesystem@0.2.0;
/// WASI filesystem is a filesystem API primarily intended to let users run WASI
/// programs that access their files on their existing filesystems, without
/// significant overhead.
@@ -24,8 +24,8 @@ package wasi:filesystem@0.2.0-rc-2023-11-10;
///
/// [WASI filesystem path resolution]: https://github.com/WebAssembly/wasi-filesystem/blob/main/path-resolution.md
interface types {
- use wasi:io/streams@0.2.0-rc-2023-11-10.{input-stream, output-stream, error};
- use wasi:clocks/wall-clock@0.2.0-rc-2023-11-10.{datetime};
+ use wasi:io/streams@0.2.0.{input-stream, output-stream, error};
+ use wasi:clocks/wall-clock@0.2.0.{datetime};
/// File size or length of a region within a file.
type filesize = u64;
diff --git a/wit/deps/filesystem/world.wit b/wit/deps/filesystem/world.wit
index 285e0ba..663f579 100644
--- a/wit/deps/filesystem/world.wit
+++ b/wit/deps/filesystem/world.wit
@@ -1,4 +1,4 @@
-package wasi:filesystem@0.2.0-rc-2023-11-10;
+package wasi:filesystem@0.2.0;
world imports {
import types;
diff --git a/wit/deps/io/error.wit b/wit/deps/io/error.wit
index 31918ac..22e5b64 100644
--- a/wit/deps/io/error.wit
+++ b/wit/deps/io/error.wit
@@ -1,4 +1,4 @@
-package wasi:io@0.2.0-rc-2023-11-10;
+package wasi:io@0.2.0;
interface error {
diff --git a/wit/deps/io/poll.wit b/wit/deps/io/poll.wit
index 81b1cab..ddc67f8 100644
--- a/wit/deps/io/poll.wit
+++ b/wit/deps/io/poll.wit
@@ -1,4 +1,4 @@
-package wasi:io@0.2.0-rc-2023-11-10;
+package wasi:io@0.2.0;
/// A poll API intended to let users wait for I/O events on multiple handles
/// at once.
diff --git a/wit/deps/io/streams.wit b/wit/deps/io/streams.wit
index 82e6e07..6d2f871 100644
--- a/wit/deps/io/streams.wit
+++ b/wit/deps/io/streams.wit
@@ -1,4 +1,4 @@
-package wasi:io@0.2.0-rc-2023-11-10;
+package wasi:io@0.2.0;
/// WASI I/O is an I/O abstraction API which is currently focused on providing
/// stream types.
diff --git a/wit/deps/io/world.wit b/wit/deps/io/world.wit
index 8243da2..5f0b43f 100644
--- a/wit/deps/io/world.wit
+++ b/wit/deps/io/world.wit
@@ -1,4 +1,4 @@
-package wasi:io@0.2.0-rc-2023-11-10;
+package wasi:io@0.2.0;
world imports {
import streams;
diff --git a/wit/deps/random/insecure-seed.wit b/wit/deps/random/insecure-seed.wit
index f76e87d..47210ac 100644
--- a/wit/deps/random/insecure-seed.wit
+++ b/wit/deps/random/insecure-seed.wit
@@ -1,4 +1,4 @@
-package wasi:random@0.2.0-rc-2023-11-10;
+package wasi:random@0.2.0;
/// The insecure-seed interface for seeding hash-map DoS resistance.
///
/// It is intended to be portable at least between Unix-family platforms and
diff --git a/wit/deps/random/insecure.wit b/wit/deps/random/insecure.wit
index ec7b997..c58f4ee 100644
--- a/wit/deps/random/insecure.wit
+++ b/wit/deps/random/insecure.wit
@@ -1,4 +1,4 @@
-package wasi:random@0.2.0-rc-2023-11-10;
+package wasi:random@0.2.0;
/// The insecure interface for insecure pseudo-random numbers.
///
/// It is intended to be portable at least between Unix-family platforms and
diff --git a/wit/deps/random/random.wit b/wit/deps/random/random.wit
index 7a7dfa2..0c017f0 100644
--- a/wit/deps/random/random.wit
+++ b/wit/deps/random/random.wit
@@ -1,4 +1,4 @@
-package wasi:random@0.2.0-rc-2023-11-10;
+package wasi:random@0.2.0;
/// WASI Random is a random data API.
///
/// It is intended to be portable at least between Unix-family platforms and
diff --git a/wit/deps/random/world.wit b/wit/deps/random/world.wit
index 49e5743..3da3491 100644
--- a/wit/deps/random/world.wit
+++ b/wit/deps/random/world.wit
@@ -1,4 +1,4 @@
-package wasi:random@0.2.0-rc-2023-11-10;
+package wasi:random@0.2.0;
world imports {
import random;
diff --git a/wit/deps/sockets/ip-name-lookup.wit b/wit/deps/sockets/ip-name-lookup.wit
index 931ccf7..8e639ec 100644
--- a/wit/deps/sockets/ip-name-lookup.wit
+++ b/wit/deps/sockets/ip-name-lookup.wit
@@ -1,6 +1,6 @@
interface ip-name-lookup {
- use wasi:io/poll@0.2.0-rc-2023-11-10.{pollable};
+ use wasi:io/poll@0.2.0.{pollable};
use network.{network, error-code, ip-address};
diff --git a/wit/deps/sockets/tcp.wit b/wit/deps/sockets/tcp.wit
index 9f12b82..5902b9e 100644
--- a/wit/deps/sockets/tcp.wit
+++ b/wit/deps/sockets/tcp.wit
@@ -1,8 +1,8 @@
interface tcp {
- use wasi:io/streams@0.2.0-rc-2023-11-10.{input-stream, output-stream};
- use wasi:io/poll@0.2.0-rc-2023-11-10.{pollable};
- use wasi:clocks/monotonic-clock@0.2.0-rc-2023-11-10.{duration};
+ use wasi:io/streams@0.2.0.{input-stream, output-stream};
+ use wasi:io/poll@0.2.0.{pollable};
+ use wasi:clocks/monotonic-clock@0.2.0.{duration};
use network.{network, error-code, ip-socket-address, ip-address-family};
enum shutdown-type {
diff --git a/wit/deps/sockets/udp.wit b/wit/deps/sockets/udp.wit
index 6ba380f..d987a0a 100644
--- a/wit/deps/sockets/udp.wit
+++ b/wit/deps/sockets/udp.wit
@@ -1,6 +1,6 @@
interface udp {
- use wasi:io/poll@0.2.0-rc-2023-11-10.{pollable};
+ use wasi:io/poll@0.2.0.{pollable};
use network.{network, error-code, ip-socket-address, ip-address-family};
/// A received datagram.
diff --git a/wit/deps/sockets/world.wit b/wit/deps/sockets/world.wit
index 8588cc6..f8bb92a 100644
--- a/wit/deps/sockets/world.wit
+++ b/wit/deps/sockets/world.wit
@@ -1,4 +1,4 @@
-package wasi:sockets@0.2.0-rc-2024-01-16;
+package wasi:sockets@0.2.0;
world imports {
import instance-network;
diff --git a/wit/proxy.wit b/wit/proxy.wit
index 2b0ce4b..687c24d 100644
--- a/wit/proxy.wit
+++ b/wit/proxy.wit
@@ -1,4 +1,4 @@
-package wasi:http@0.2.0-rc-2024-01-16;
+package wasi:http@0.2.0;
/// The `wasi:http/proxy` world captures a widely-implementable intersection of
/// hosts that includes HTTP forward and reverse proxies. Components targeting
@@ -6,19 +6,19 @@ package wasi:http@0.2.0-rc-2024-01-16;
/// outgoing HTTP requests.
world proxy {
/// HTTP proxies have access to time and randomness.
- include wasi:clocks/imports@0.2.0-rc-2023-11-10;
- import wasi:random/random@0.2.0-rc-2023-11-10;
+ include wasi:clocks/imports@0.2.0;
+ import wasi:random/random@0.2.0;
/// Proxies have standard output and error streams which are expected to
/// terminate in a developer-facing console provided by the host.
- import wasi:cli/stdout@0.2.0-rc-2024-01-16;
- import wasi:cli/stderr@0.2.0-rc-2024-01-16;
+ import wasi:cli/stdout@0.2.0;
+ import wasi:cli/stderr@0.2.0;
/// TODO: this is a temporary workaround until component tooling is able to
/// gracefully handle the absence of stdin. Hosts must return an eof stream
/// for this import, which is what wasi-libc + tooling will do automatically
/// when this import is properly removed.
- import wasi:cli/stdin@0.2.0-rc-2024-01-16;
+ import wasi:cli/stdin@0.2.0;
/// This is the default handler to use when user code simply wants to make an
/// HTTP request (e.g., via `fetch()`).
diff --git a/wit/types.wit b/wit/types.wit
index 0f698e7..755ac6a 100644
--- a/wit/types.wit
+++ b/wit/types.wit
@@ -2,10 +2,10 @@
/// HTTP Requests and Responses, both incoming and outgoing, as well as
/// their headers, trailers, and bodies.
interface types {
- use wasi:clocks/monotonic-clock@0.2.0-rc-2023-11-10.{duration};
- use wasi:io/streams@0.2.0-rc-2023-11-10.{input-stream, output-stream};
- use wasi:io/error@0.2.0-rc-2023-11-10.{error as io-error};
- use wasi:io/poll@0.2.0-rc-2023-11-10.{pollable};
+ use wasi:clocks/monotonic-clock@0.2.0.{duration};
+ use wasi:io/streams@0.2.0.{input-stream, output-stream};
+ use wasi:io/error@0.2.0.{error as io-error};
+ use wasi:io/poll@0.2.0.{pollable};
/// This type corresponds to HTTP standard Methods.
variant method {