Commit a52f990
v0.4.0
Important upgrade note:
- A v0.3.0 fleet must stop completely before v0.4.0 is deployed. The two
versions cannot share a fleet because the peer tunnel protocol and large
Workers KV value references are incompatible.
Highlights:
- Add initial support for Workers KV, Queues, Workflows, and R2 bindings.
celld can deploy these bindings from the corresponding Wrangler
configuration.
- Add `celld dev` for local development. It rebuilds the application
automatically and uses a persistent local object store, so it does not
require Docker or a cloud bucket.
- Nodes can adopt a new deployment without restarting. Existing requests
finish on the old deployment, while new requests use the new deployment.
Durable Objects move at safe points and retain their storage and
hibernatable WebSockets.
- Strengthen the Durable Object output gate. It now applies one ordering
rule to responses, outbound calls, Queue deliveries, and WebSocket sends.
Read-only output waits for earlier request or alarm writes to become
durable.
- Route proxied fetch, RPC, and WebSocket calls through one versioned peer
tunnel. Request bodies stream to the owner. celld does not retry a call
after transmission starts because it does not retain a copy of the body.
- Improve graceful shutdown with batched handoffs, drain tokens, successor
acknowledgements, and full snapshots that reduce successor replay.
Configure the orchestrator stop grace to cover the drain-token wait,
handoff, and no-progress interval.
- Add commands to list cells and inspect or manage Workers KV namespaces
and Queues:
- `celld cell list`
- `celld kv get`, `celld kv put`, `celld kv delete`, `celld kv list`,
and `celld kv info`
- `celld kv bulk get`, `celld kv bulk put`, and
`celld kv bulk delete`
- `celld queue info`, `celld queue peek`, `celld queue purge`,
`celld queue pause`, `celld queue resume`, and
`celld queue redrive`
The cell and KV listings support pagination, full traversal, and
newline-delimited JSON.
- Move the public health endpoint from `/__celld/health` to
`/.well-known/celld/health`. Update load-balancer and readiness checks
when you upgrade.
- Add a configurable request-body limit, with a 1 GiB default, and a
per-cell concurrency limit. On Linux, memory-pressure handling now also
accounts for active cgroup memory.
- Add support for Amazon EKS Pod Identity credentials from the injected
environment variables and authorization-token file.
- Issues fixed:
- #148
- #161
- #163
- #165
- #166
- #167
- #168
- #170
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
Co-authored-by: Divy Srivastava <me@littledivy.com>
Co-authored-by: Kyle Kelley <rgbkrk@gmail.com>
Co-authored-by: Nathan Whitaker <17734409+nathanwhit@users.noreply.github.com>
Co-authored-by: Phil Renaud <phil@riotindustries.com>
Co-authored-by: Yusuke Tanaka <yusuktan@maguro.dev>1 parent 89e4ffc commit a52f990
164 files changed
Lines changed: 36543 additions & 15107 deletions
File tree
- .github/workflows
- crates
- celld
- actor
- js
- main
- logic
- ltx
- reference/litestream-go/testdata/wal-reader
- frame-checksum-mismatch
- frame-salts
- ok
- salt-mismatch
- scripts
- src
- client
- tests
- fixtures/golden
- replica/ltx/0
- docs
- examples
- alarm
- async
- body
- counter
- cron
- d1
- hello
- kv
- r2
- router
- rpc
- vectordb
- wasm
- src
- webapi
- workflow
- wsclient
- wsecho
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
140 | 140 | | |
141 | 141 | | |
142 | 142 | | |
143 | | - | |
144 | | - | |
| 143 | + | |
| 144 | + | |
145 | 145 | | |
146 | 146 | | |
147 | 147 | | |
| |||
296 | 296 | | |
297 | 297 | | |
298 | 298 | | |
299 | | - | |
300 | | - | |
| 299 | + | |
301 | 300 | | |
302 | 301 | | |
303 | 302 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
| 2 | + | |
2 | 3 | | |
0 commit comments