Conversation
|
commit: |
1a97904 to
1233647
Compare
|
The FROM ghcr.io/cloudflare/computer-computerd-linux-x64:next AS computerdBuilt from |
1233647 to
9184be3
Compare
9184be3 to
4b2fa82
Compare
477a865 to
5a0b8cf
Compare
There was a problem hiding this comment.
Devin Review found 1 new potential issue.
🐛 1 issue in files not directly in the diff
🐛 Pending changesets block this release
After merge, these changesets remain pending. The release workflow creates another version pull request instead of publishing 0.3.0.
This pull request was opened by the release workflow. Merge it to publish the versions below. Pending changesets on
mainwill update this pull request.Releases
@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.@cloudflare/dofs@0.3.0
@cloudflare/computer-rpc@0.3.0
Patch Changes
@cloudflare/computerd@0.3.0
Patch Changes