v0.6.0
Upgrading from v0.5.1 with fleet durability requires stopping the whole fleet
first. A fleet with bucket durability can use a rolling update.
- Each Durable Object facet has its own SQLite file and replication stream. A
facet write no longer copies the facet database into the root or joins a
root transaction. A facet can start from a class in `ctx.exports`. Facets
from v0.5.1 migrate on first open.
- `crypto.subtle` supports Ed25519 (also as `NODE-ED25519`) and X25519, with
`raw` import and export. (#221)
- Per-cell memory: the SQL statement cache is capped at 128 KiB of compiled
statements instead of 1 MiB of SQL text, which could hold tens of MB. A cell
shares one object store client instead of three, and operation timers no
longer leak one map entry per operation.
- Stricter workerd parity: `WorkerCode` requires `compatibilityDate`, a wasm
module in `modules` must be `{ wasm: bytes }`, `export const X = "..."` in
a main module fails the Worker's start, and the `transactionSync()` callback
receives no argument.
- `ctx.exports` holds `default` and each entrypoint, and `fetch()` on its
stubs sends an HTTP request.
- R2 keeps empty key segments, so `a/b`, `/a/b`, `a//b`, and `a/b/` are four
objects. An object v0.5.1 wrote as `photos/` stays at `photos`.
- Invalid UTF-8 in SQLite `TEXT` decodes as U+FFFD instead of failing.
- `Headers` accepts values above U+00FF and decodes response values as UTF-8.
- A WebSocket close is `wasClean: true` whenever the peer sent a close frame.
- `run_worker_first` accepts the root route `/`.
- Recovery waits for range evidence from a follower's log tail.
Issues fixed:
- #226: Nest `transactionSync()` calls through the root storage handle.
- #227: Resolve relative imports in Dynamic Worker subdirectories.
- #228: Fire a re-armed alarm on time despite the handler's pending timers.
- #229: Deliver WebSocket frames while `webSocketMessage()` runs.
- #232: R2 `list()` returns non-ASCII and `%` keys as `put()` received them.
Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
Co-authored-by: Yusuke Tanaka <yusuktan@maguro.dev>Parent42269c1
59 files changed+11174-8787
StackedSplit