diff --git a/imports.md b/imports.md
index 36fa8bb..f3fab4d 100644
--- a/imports.md
+++ b/imports.md
@@ -2,16 +2,16 @@
-Import interface wasi:io/error@0.2.1
+Import interface wasi:io/error@0.2.2
Types
resource error
@@ -44,7 +44,7 @@ hazard.
-Import interface wasi:io/poll@0.2.1
+Import interface wasi:io/poll@0.2.2
A poll API intended to let users wait for I/O events on multiple handles
at once.
@@ -97,7 +97,7 @@ being ready for I/O.
-Import interface wasi:io/streams@0.2.1
+Import interface wasi:io/streams@0.2.2
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;
@@ -118,6 +118,8 @@ when it does, they are expected to subsume this API.
last-operation-failed
: own<error
>
The last operation (a write or flush) failed before completion.
More information is available in the error
payload.
+After this, the stream will be closed. All future operations return
+stream-error::closed
.
closed
@@ -425,7 +427,7 @@ is ready for reading, before performing the splice
.
-Import interface wasi:blobstore/types@0.2.0-draft
+Import interface wasi:blobstore/types@0.2.0-draft.1
Types used by blobstore
Types
@@ -580,7 +582,7 @@ should treat the value as corrupted.
-Import interface wasi:blobstore/container@0.2.0-draft
+Import interface wasi:blobstore/container@0.2.0-draft.1
a Container is a collection of objects
Types
@@ -750,7 +752,7 @@ does not return error if object did not exist.
- result<(
u64
, bool
), error
>
-Import interface wasi:blobstore/blobstore@0.2.0-draft
+Import interface wasi:blobstore/blobstore@0.2.0-draft.1
wasi-cloud Blobstore service definition
Types
diff --git a/wit/container.wit b/wit/container.wit
index 4e7c059..ace6139 100644
--- a/wit/container.wit
+++ b/wit/container.wit
@@ -1,6 +1,6 @@
// a Container is a collection of objects
interface container {
- use wasi:io/streams@0.2.1.{
+ use wasi:io/streams@0.2.2.{
input-stream,
output-stream,
};
diff --git a/wit/deps.lock b/wit/deps.lock
index 5532e3d..df9d4d0 100644
--- a/wit/deps.lock
+++ b/wit/deps.lock
@@ -1,4 +1,4 @@
[io]
-url = "https://github.com/WebAssembly/wasi-io/archive/v0.2.1.tar.gz"
-sha256 = "2a74bd811adc46b5a0f19827ddbde89870e52b17615f4d0873f06fd977250caf"
-sha512 = "94624f00c66e66203592cee820f80b1ba91ecdb71f682c154f25eaf71f8d8954197dcb64503bc21e72ed5e812af7eae876df47b7eb727b02db3a74a7ce0aefca"
+url = "https://github.com/WebAssembly/wasi-io/archive/v0.2.2.tar.gz"
+sha256 = "6d8dbfaaaa685167c1829616dc7265f5f3cb776845879555612d56544f6d9bfc"
+sha512 = "52219562c4183503169cd2947b8164e1c96974500a5adf15bbf382c5992a10a626cc89c3b319204aeda6698ce59cbca2c42f98f7fde296aa77b9db4b41154dbe"
diff --git a/wit/deps.toml b/wit/deps.toml
index db18745..713a0d9 100644
--- a/wit/deps.toml
+++ b/wit/deps.toml
@@ -1 +1 @@
-io = "https://github.com/WebAssembly/wasi-io/archive/v0.2.1.tar.gz"
+io = "https://github.com/WebAssembly/wasi-io/archive/v0.2.2.tar.gz"
diff --git a/wit/deps/io/error.wit b/wit/deps/io/error.wit
index 4ea29c4..717135f 100644
--- a/wit/deps/io/error.wit
+++ b/wit/deps/io/error.wit
@@ -1,4 +1,4 @@
-package wasi:io@0.2.1;
+package wasi:io@0.2.2;
@since(version = 0.2.0)
interface error {
diff --git a/wit/deps/io/poll.wit b/wit/deps/io/poll.wit
index b25ac72..49c1c5e 100644
--- a/wit/deps/io/poll.wit
+++ b/wit/deps/io/poll.wit
@@ -1,4 +1,4 @@
-package wasi:io@0.2.1;
+package wasi:io@0.2.2;
/// 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 b697e24..330f709 100644
--- a/wit/deps/io/streams.wit
+++ b/wit/deps/io/streams.wit
@@ -1,4 +1,4 @@
-package wasi:io@0.2.1;
+package wasi:io@0.2.2;
/// WASI I/O is an I/O abstraction API which is currently focused on providing
/// stream types.
@@ -18,6 +18,9 @@ interface streams {
/// The last operation (a write or flush) failed before completion.
///
/// More information is available in the `error` payload.
+ ///
+ /// After this, the stream will be closed. All future operations return
+ /// `stream-error::closed`.
last-operation-failed(error),
/// The stream is closed: no more input will be accepted by the
/// stream. A closed output-stream will return this error on all
@@ -205,6 +208,7 @@ interface streams {
/// The created `pollable` is a child resource of the `output-stream`.
/// Implementations may trap if the `output-stream` is dropped before
/// all derived `pollable`s created with this function are dropped.
+ @since(version = 0.2.0)
subscribe: func() -> pollable;
/// Write zeroes to a stream.
diff --git a/wit/deps/io/world.wit b/wit/deps/io/world.wit
index 6405a4e..f7001cc 100644
--- a/wit/deps/io/world.wit
+++ b/wit/deps/io/world.wit
@@ -1,4 +1,4 @@
-package wasi:io@0.2.1;
+package wasi:io@0.2.2;
@since(version = 0.2.0)
world imports {
diff --git a/wit/types.wit b/wit/types.wit
index 10d6c83..fa1853a 100644
--- a/wit/types.wit
+++ b/wit/types.wit
@@ -1,6 +1,6 @@
// Types used by blobstore
interface types {
- use wasi:io/streams@0.2.1.{input-stream, output-stream};
+ use wasi:io/streams@0.2.2.{input-stream, output-stream};
// name of a container, a collection of objects.
// The container name may be any valid UTF-8 string.
diff --git a/wit/world.wit b/wit/world.wit
index 9240bba..d5d8ea7 100644
--- a/wit/world.wit
+++ b/wit/world.wit
@@ -1,4 +1,4 @@
-package wasi:blobstore@0.2.0-draft;
+package wasi:blobstore@0.2.0-draft.1;
world imports {
import blobstore;