Repository navigation
@cloudflare/computer@0.3.0
Minor Changes
-
#110
c85a255Thanks @aron-cf! - The container's HTTP surface now requires a bearer token. The host generates a secret, passes it to the container as RPC_CLIENT_SECRET at launch, and sends it on /connect. Readiness at /health stays open, and leaving the variable unset disables the checks. Before opening a session the host checks that the container refuses an unauthenticated request and fails the connect if it does not, so a container or image predating this has to be recycled. The container's dial-back to the host carries the same secret, and the host refuses an upgrade that does not present it. -
#108
3074d90Thanks @aron-cf! - The /connect caller now provides both API & healthcheck endpoints. The container no longer builds either path itself, so a host is free to serve them wherever it likes. -
#110
199fc17Thanks @aron-cf! -IWorkspaceContainerAPI.start()andrestart()now take a singleContainerLaunchSpecof{ env, enableInternet }instead of two arguments, and return which oflaunched,adoptedorrelaunchedhappened. Each launch records its spec, and a container found already running is relaunched unless it matches, because neither the environment nor the internet flag can be changed on a live container. A container started outside this API has no record and is relaunched rather than trusted.setInactivityTimeout()joins the interface so a caller that pre-starts containers, such as a warm pool, does not need to reach past it. -
#110
c85a255Thanks @aron-cf! - A command run through the shell no longer inherits the container's whole environment. It receives PATH, HOME, TMPDIR, TZ, LANG, TERM, the LC* family, and any variable prefixed COMPUTER_VAR*, which arrives with the prefix stripped so COMPUTER_VAR_NODE_ENV becomes NODE_ENV. A workspace that relied on some other inherited variable needs the prefix. -
#108
3074d90Thanks @aron-cf! - The UPSTREAM_URL environment variable has been removed along with the container's own sync loop. Syncing is driven by whichever peer holds the other end of the Cap'n Web session. -
#108
3074d90Thanks @aron-cf! - The Cap'n Web /ws endpoint has been renamed to /api at both ends of the connection. A durable object that routes the container's outbound upgrade must match /api in its own fetch handler. Support for the Cap'n Web HTTP batch transport has been removed, so /api carries a websocket only. -
#138
25c603aThanks @aron-cf! -Workspace.pull()andWorkspace.push()are now async iterables that commit one block of changes per iteration. This allows a caller to implement a deferred post-exec sync across several invocations. See ./docs/02_sync_protocol.md for details. -
#109
e2dd6d8Thanks @aron-cf! - Make the artifacts session id optional:createArtifact(binding)now returns a client over the whole namespace rather than requiring a session to scope by. See ./docs/15_artifacts_interface.md for details.
Patch Changes
-
#111
e9bbc50Thanks @aron-cf! - Create missing parent directories while applying sync entries. -
#96
45fa716Thanks @agent-think! - Fix issue where the edit tool would rewrite the whole file when oldText doesn't match exactly. -
#113
f35f5dfThanks @aron-cf! - Syncnode_modulesby default so package manager installs persist across workspace runtimes.