diff --git a/imports.md b/imports.md
index b1fefd7..8b977ac 100644
--- a/imports.md
+++ b/imports.md
@@ -98,7 +98,7 @@ corresponding to a clock tick.
subscribe-instant: func
Create a pollable
which will resolve once the specified instant
-has occurred.
+has occured.
Params
when
: instant
diff --git a/wit/monotonic-clock.wit b/wit/monotonic-clock.wit
index a242b41..cae2363 100644
--- a/wit/monotonic-clock.wit
+++ b/wit/monotonic-clock.wit
@@ -7,35 +7,43 @@ package wasi:clocks@0.2.0;
///
/// A monotonic clock is a clock which has an unspecified initial value, and
/// successive reads of the clock will produce non-decreasing values.
+@since(version = 0.2.0)
interface monotonic-clock {
+ @since(version = 0.2.0)
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
/// the same monotonic-clock.
+ @since(version = 0.2.0)
type instant = u64;
/// A duration of time, in nanoseconds.
+ @since(version = 0.2.0)
type duration = u64;
/// Read the current value of the clock.
///
/// The clock is monotonic, therefore calling this function repeatedly will
/// produce a sequence of non-decreasing values.
+ @since(version = 0.2.0)
now: func() -> instant;
/// Query the resolution of the clock. Returns the duration of time
/// corresponding to a clock tick.
+ @since(version = 0.2.0)
resolution: func() -> duration;
/// Create a `pollable` which will resolve once the specified instant
- /// has occurred.
+ /// has occured.
+ @since(version = 0.2.0)
subscribe-instant: func(
when: instant,
) -> pollable;
/// Create a `pollable` that will resolve after the specified duration has
/// elapsed from the time this function is invoked.
+ @since(version = 0.2.0)
subscribe-duration: func(
when: duration,
) -> pollable;
diff --git a/wit/wall-clock.wit b/wit/wall-clock.wit
index 440ca0f..4b08d71 100644
--- a/wit/wall-clock.wit
+++ b/wit/wall-clock.wit
@@ -13,8 +13,10 @@ package wasi:clocks@0.2.0;
/// monotonic, making it unsuitable for measuring elapsed time.
///
/// It is intended for reporting the current date and time for humans.
+@since(version = 0.2.0)
interface wall-clock {
/// A time and date in seconds plus nanoseconds.
+ @since(version = 0.2.0)
record datetime {
seconds: u64,
nanoseconds: u32,
@@ -33,10 +35,12 @@ interface wall-clock {
///
/// [POSIX's Seconds Since the Epoch]: https://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xbd_chap04.html#tag_21_04_16
/// [Unix Time]: https://en.wikipedia.org/wiki/Unix_time
+ @since(version = 0.2.0)
now: func() -> datetime;
/// Query the resolution of the clock.
///
/// The nanoseconds field of the output is always less than 1000000000.
+ @since(version = 0.2.0)
resolution: func() -> datetime;
}
diff --git a/wit/world.wit b/wit/world.wit
index b76a005..76a9206 100644
--- a/wit/world.wit
+++ b/wit/world.wit
@@ -1,7 +1,10 @@
package wasi:clocks@0.2.0;
+@since(version = 0.2.0)
world imports {
+ @since(version = 0.2.0)
import monotonic-clock;
+ @since(version = 0.2.0)
import wall-clock;
@unstable(feature = clocks-timezone)
import timezone;