You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,11 @@
2
2
3
3
All notable changes to Aver are documented here. Starting with 0.10.0, minor releases get a codename — short, evocative, and it tells you what the release was really about.
4
4
5
+
## 0.19.0 (unreleased)
6
+
7
+
### Added
8
+
-**HTTP client on `--target wasip2`.** All six methods — `Http.get`, `Http.head`, `Http.delete`, `Http.post`, `Http.put`, `Http.patch` — now compile and run as components. Response headers surface as `Map<String, List<String>>`; multi-value headers (e.g. `Set-Cookie`) keep server emit order. Failure messages name the wasi:http error variant (`http: connection-refused`, `http: DNS-timeout`, …) instead of a generic string.
9
+
5
10
## 0.18.0 "Span" (2026-05-09)
6
11
7
12
> _Cross the Component Model boundary the same way Aver crosses the source/wasm one — typed effects in, canonical-ABI imports out._
Copy file name to clipboardExpand all lines: docs/wasip2.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -102,9 +102,9 @@ Aver effects lower directly to WASI 0.2 imports. The mapping is fixed per effect
102
102
|`Time.now` / `unixMs`|`wasi:clocks/wall-clock.now` (Time.now formats RFC3339 guest-side via Howard Hinnant's `civil_from_days`) |
103
103
|`Time.sleep`|`wasi:clocks/monotonic-clock.subscribe-duration` + `wasi:io/poll.poll` + `[resource-drop]pollable` (per-call pollable, real wait — not busy-loop) |
104
104
|`Random.int` / `float`|`wasi:random/random.get-random-u64` + Aver-side range scaling. This is the secure `wasi:random/random` interface (same contract as `get-random-bytes`, just returning 8 cryptographically-secure bytes packed into a u64); we deliberately do NOT use `wasi:random/insecure.get-insecure-random-u64`. If we later need finer byte-level control (e.g. for `Random.bytes(n)`), the switch to `get-random-bytes` is mechanical. |
105
-
|`Http.*`|**Compile-rejected** — out of 0.18 scope (Phase 2 / 0.19)|
106
-
|`HttpServer.listen` / `listenWith`|**Compile-rejected** — out of 0.18 scope (Phase 3 / 0.19)|
107
-
|`Tcp.*`|**Compile-rejected** — out of 0.18 scope (Phase 2 / 0.19) |
105
+
|`Http.{get, head, delete, post, put, patch}`|`wasi:http/outgoing-handler.handle` + the future-incoming-response / incoming-response choreography (Phase 2 / 0.19 shipped). Method tag selects `outgoing-request.set-method`. Body-bearing verbs marshal a request body via `request.body` + `outgoing-body.write` + chunked `blocking-write-and-flush` + `outgoing-body.finish`. Headers (request and response) lower as `Map<String, List<String>>`; multi-valued field names preserve server emit order. `error-code` variant discriminants surface as per-variant `http: <name>` Err messages (39 cases).|
106
+
|`HttpServer.listen` / `listenWith`|**Compile-rejected** — out of 0.19 client scope (Phase 3 / 0.19+); requires the `wasi:http/proxy` world + exported `incoming-handler.handle`.|
107
+
|`Tcp.*`|**Compile-rejected** — out of 0.19 client scope (Phase 2.1 / 0.19+) |
108
108
|`Terminal.*` (12 methods) |**Compile-rejected** — WASI 0.2 has no raw/cooked-mode operations |
109
109
110
110
### Why `Terminal.*` / `Env.set` are rejected, not stubbed
0 commit comments