1---
2title: 2.0.0-beta.50 - Reliable Dev Ports
3date: 2026-06-01T22:00:00Z
4category: release
5excerpt: v2.0.0-beta.50 is a two-fix patch — reliable Worker/Vite port assignment in `alchemy dev`, and a fix for binding an `Output` value (like another Worker's URL) into a Worker's `env` without a deploy-time `RuntimeContext` crash.
6---
7
8`v2.0.0-beta.50` is a small patch release with two Cloudflare
9fixes, both from
10**[John Royal](https://github.com/jdrydn)**.
11
12## Reliable Worker/Vite ports in `alchemy dev`
13
14Port-conflict detection in `cloudflare-runtime` wasn't firing
15reliably, and it was worst with Vite. beta.50 has Vite listen on
16a random port and places a `WorkerProxy` in front of it, so ports
17are assigned deterministically and conflicts are actually
18detected. The conflict detection and `WorkerProxy` implementation
19in `cloudflare-runtime` were both tightened up along the way.
20([#513](https://github.com/alchemy-run/alchemy/pull/513))
21
22## Binding an `Output` into a Worker's `env`
23
24Passing an `Output` value — like another Worker's URL — into a
25Worker's `env` crashed at deploy time with
26`Service not found: RuntimeContext`:
27
28```typescript
29const backend = yield* Cloudflare.Worker(/* ... */);
30
31const website = yield* Cloudflare.Website.Vite("Website", {
32 rootDir: path.resolve(import.meta.dirname, "frontend"),
33 env: {
34 VITE_API_URL: backend.url.as<string>(), // crashed during deploy
35 },
36});
37```
38
39`bindWorkerAsyncBindings` was `yield*`ing the value, which called
40`.bind()` on the `Output` prematurely — and `bind()` needs
41`RuntimeContext`, which doesn't exist at deploy time. beta.50
42checks whether the value is an `Output` before yielding, so
43output references thread through to runtime as intended.
44([#514](https://github.com/alchemy-run/alchemy/pull/514))
45
46## Where to go next
47
48- [CHANGELOG](https://github.com/alchemy-run/alchemy/blob/main/CHANGELOG.md#v200-beta50)
49- [Compare v2.0.0-beta.49 → v2.0.0-beta.50](https://github.com/alchemy-run/alchemy/compare/v2.0.0-beta.49...v2.0.0-beta.50)