Skip to content

chore: bump effect to 4.0.0-beta.99, alchemy to 2.0.0-beta.63#30

Merged
i11v merged 1 commit into
mainfrom
chore/bump-effect-alchemy-2026-07-19
Jul 19, 2026
Merged

chore: bump effect to 4.0.0-beta.99, alchemy to 2.0.0-beta.63#30
i11v merged 1 commit into
mainfrom
chore/bump-effect-alchemy-2026-07-19

Conversation

@i11v

@i11v i11v commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Summary

Dependency bump across the workspace, verified locally (typecheck, unit tests, integration suite on local workerd, build, verify:pwa).

package before after
effect (root, contract, worker, web) 4.0.0-beta.78 4.0.0-beta.99
alchemy (root, worker) 2.0.0-beta.52 2.0.0-beta.63
@effect/platform-node 4.0.0-beta.78 4.0.0-beta.99
@effect/platform-bun (exact devDep) 4.0.0-beta.78 4.0.0-beta.99
@effect/vitest 4.0.0-beta.78 4.0.0-beta.99

API renames (alchemy beta.52 → beta.63)

  • Cloudflare.DurableObjectNamespace<X>()Cloudflare.DurableObject<X>() (both DOs)
  • Cloudflare.DurableWebSocketCloudflare.WebSocket (session handlers)

Patch re-created against @distilled.cloud/core 0.29.1

alchemy@2.0.0-beta.63 pins @distilled.cloud/*@0.29.1, so the empty-2xx-body guard (alchemy-run/distilled#344, still unmerged as of 2026-07-19) is re-created against 0.29.1. Verified the bug is still present: 0.29.1 now turns the empty-body decode failure into a retryable TransportError, but the retry re-issues the DELETE and the operation can still fail — the guard (mirroring the 204 branch) remains the durable fix. Patched both src/client.ts (bun export condition, what bunx alchemy runs) and lib/client.js (default condition).

Drive-by test fix

packages/worker/test-integration/stack.test.ts: the plain-GET /api/ws test expected 400, but the 426 upgrade-check branch (added in #6) runs before the session-id check, so the test could never pass — broken on main unnoticed because CI doesn't run test:integration. Now expects 426; suite is 3/3 green locally.

🤖 Generated with Claude Code

https://claude.ai/code/session_01UnK7wXkmdGSShX5AA1TevY

- effect 4.0.0-beta.78 -> 4.0.0-beta.99 (root + all workspace packages)
- alchemy 2.0.0-beta.52 -> 2.0.0-beta.63 (root + worker)
- @effect/platform-node, @effect/platform-bun, @effect/vitest -> 4.0.0-beta.99
- Alchemy API renames: Cloudflare.DurableObjectNamespace -> Cloudflare.DurableObject,
  Cloudflare.DurableWebSocket -> Cloudflare.WebSocket
- Re-create the @distilled.cloud/core empty-2xx-body guard (alchemy-run/distilled#344,
  still unmerged) against 0.29.1 (was 0.23.1); patched both src/client.ts (bun
  condition) and lib/client.js (default condition). 0.29.1 reclassifies the empty-body
  decode failure as a retryable TransportError, but the retry re-issues the DELETE and
  can still abort a deploy/destroy, so the guard is still needed.
- Fix a pre-existing integration-test expectation: a plain GET /api/ws hits the
  426 upgrade-check branch before the session-id check (broken since PR #6; CI
  does not run test:integration)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UnK7wXkmdGSShX5AA1TevY
@github-actions

Copy link
Copy Markdown

🚀 Preview deployed: https://preview-30.tablo.run
fallback: https://tablo-pr-30.i11v.workers.dev

@i11v
i11v merged commit 87ce5ae into main Jul 19, 2026
2 checks passed
@i11v
i11v deleted the chore/bump-effect-alchemy-2026-07-19 branch July 19, 2026 13:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant