The Wire · Showcase
WORKFLOW SHIPS EVENT LIMITS AND CROSS-ENVIRONMENT GUARDS
By RepoJournal · Filed · About Vercel
Workflow 4.8.0 enforces server-supplied per-run event caps and prevents queue messages from escaping their tenant boundaries, closing a fork vector that could split run creation across environments.
The core engine now stamps creator environment into every run and rejects cross-environment queue deliveries client-side [2], eliminating a misconfiguration path where callers could write a run_created event to one tenant while pinning the queue message to a deployment in another. Workflow 4.8.0 also gates event creation on loaded event count and restarts replays in-process [3], backing the new 25K per-run event limit [1]. A matching Vercel backend change indexes every event a create commits; the count guard stays inert until that lands, but the watermark half is already live. On the hook side, resumeHook() is now resilient to transient write failures [4], materializing missing hook_received events from queue payloads when the event service returns 429/5xx but dispatch succeeds, bringing it to feature-parity with start()'s robust behavior. Replay divergence recovery now surfaces observably through an optional replayDivergenceCount on event writes [5], eliminating GET-side effects and making both recovery and retry-exhaustion outcomes visible without VQS changes. Next.js fixed hybrid Pages/App Router not-found rendering with adapters [6], and turbopack's filesystem cache for builds now ships enabled by default [7], matching dev mode and speeding warm builds. Eve refactored its Vercel CLI subprocess lifecycle to eliminate three drifting copies and opened real session root spans with windowed long traces [8], fixing a bug where delegated subagents' work never appeared under the session that dispatched them. The SDK fixed OpenAI file uploads with expiresAfter [9], which were being rejected instead of setting retention, and added video model support to the minimax provider [10].
One email a day. Unsubscribe in one click.
Keep up with Vercel in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Deploy workflow@4.8.0 to production immediately vercel/workflow [immediate]
- → Verify matching Vercel backend event indexing is live before count guard arms vercel/workflow [immediate]
- → Upgrade Next.js for adapter hybrid routing fix vercel/next.js [plan]
- → Monitor Eve traces for subagent attribution accuracy post-deploy vercel/eve [monitor]
References
- [1] workflow@4.8.0 ↗ vercel/workflow
- [2] feat(core): stamp creator environment into runInput and reject cross-environment queue deliveries client-side ↗ vercel/workflow
- [3] [core] Gate event creation on the loaded event count and restart replays in-process ↗ vercel/workflow
- [4] Make resumeHook() resilient to transient hook_received event write failures ↗ vercel/workflow
- [5] Report replay divergence recovery episodes ↗ vercel/workflow
- [6] Fix hybrid Pages/App Router not-found rendering with adapters ↗ vercel/next.js
- [7] Enable turbopackFileSystemCacheForBuild by default (#96395) vercel/next.js
- [8] feat(eve): open a real session root span and window long traces ↗ vercel/eve
- [9] fix: `@ai-sdk/openai` file uploads with expiresAfter are rejected instead of setting retention (#18236) vercel/ai
- [10] feat(minimax): add video model support (MiniMax-H3) (#18286) vercel/ai