115 wires and counting

$ follow Vercel

Keep up with Vercel in about 3 minutes: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

or

fair warning: these emails are deeply technical. diffs, version numbers, CVEs, benchmark deltas. if that's not your idea of a good read, this isn't your newsletter.

Folds into your digest — weekly by default, monthly if you prefer. Unsubscribe in one click.

$ status

wire 2026-09-04
stories 143

© 2026 RepoJournal Home Showcase Explore How it works Privacy

$ the-wire · showcase

Eve ships per-session token cost limits, Next.js tightens Server Action errors

By RepoJournal · Filed · About Vercel

Eve 0.51.0 ships per-session USD token-cost limits, while Next.js now returns precise client errors for unrecognized Server Actions.

Eve 0.51.0 is out [1]. It brings an optional `maxTokenCostUsdPerSession` limit that follows the existing human-in-the-loop flow: once accumulated model cost hits the limit, **Approve** grants another configured window and **Stop** cancels the turn; runs without HITL fail with a token-cost-specific error [2]. The limit is unset by default and excludes tool and infrastructure spend. In a separate privacy move, `@eve/self-modification` stays a private workspace package instead of shipping through `eve`, retaining the AI Gateway model-search tool for the internal extension [3]. Also, workspace agents in a top-level `agents/` workspace no longer share memory across workspaces: the default namespace now includes workspace membership and the public route prefix, while standalone agents remain byte-for-byte compatible [4].

Next.js now distinguishes why a Server Action reference fails on the client [5]. It returns `400 Bad Request` when an action ID does not match the expected format and `409 Conflict` when a well-formed ID is unavailable in the current deployment, covering deployment skew. The classification applies to IDs from the `Next-Action` header and multipart MPA forms across Node and Edge runtimes, and responses are generic text bodies that don't expose action-ID details. Also in Next.js, the vendored `web-vitals` dependency upgrades to v6.0.1 and enables soft-navigation reporting for CLS, INP, and LCP, so `useReportWebVitals` reports metrics against the navigation where they occurred, including `navigationURL` for route attribution; the obsolete FID integration is removed [6].

In the AI SDK, two stream-handling fixes landed. WorkflowAgent.stream no longer rejects valid abort signals in runtimes where the `AbortSignal` global is not a constructor: `mergeAbortSignals` used it as the right-hand operand of `instanceof`, producing a `TypeError` classified as `USER_ERROR` before any model step completed [7]. And OpenAI-compatible gateways that attach `tool_calls: []` to reasoning deltas no longer split one logical reasoning span into multiple visible blocks: the stream transform treated any non-null `tool_calls` array as active tool output, so empty arrays closed reasoning after each delta [8]. Separately, MCP tool metadata now surfaces server-provided annotations, so applications can implement approvals themselves; the AI SDK should just surface the metadata, as the PR notes [9].

vercel-py's workflow SDK adds typed streams: a `type=` argument on all stream-getting functions wraps a pydantic validator around the read or write, and `WorkflowWritable` gets the same treatment when passed to a step [10]. It also writes gzip- and zstd-compressed workflow payloads using the same thresholds and codec controls as the TypeScript SDK, bumping the spec version to 5 [11]. And importing `httpx` inside workflows no longer fails now that `zstandard` is a dependency: it's in the passthrough list but its `open` method is blocklisted, so importing `httpx` works while using it still fails as expected [12].

Action items

References

  1. [1] Version Packages ↗ vercel/eve
  2. [2] feat(eve): add per-session model token-cost limits ↗ vercel/eve
  3. [3] feat(selfmod): keep self-modification private ↗ vercel/eve
  4. [4] fix(eve): isolate workspace agent memory ↗ vercel/eve
  5. [5] Return client errors for unrecognized Server Actions ↗ vercel/next.js
  6. [6] Upgrade web-vitals to v6 and report soft navigations (#97232) ↗ vercel/next.js
  7. [7] fix: prevent valid abort signals from crashing WorkflowAgent in runtimes with a non-constructor AbortSignal global (#20276) ↗ vercel/ai
  8. [8] fix: prevent empty tool-call deltas from fragmenting OpenAI-compatible reasoning streams (#20253) ↗ vercel/ai
  9. [9] feat(mcp): surface server-provided tool annotations in tool metadata (#20287) ↗ vercel/ai
  10. [10] workflow: typed streams ↗ vercel/vercel-py
  11. [11] workflow: write compressed payloads ↗ vercel/vercel-py
  12. [12] workflow: make zstandard passthrough (and restricted) to make httpx work ↗ vercel/vercel-py

Quick answers

What shipped in Vercel on September 4, 2026?
Eve 0.51.0 ships per-session USD token-cost limits, while Next.js now returns precise client errors for unrecognized Server Actions. In total, 63 commits, 66 pull requests, and 14 releases landed.
Who contributed to Vercel on September 4, 2026?
14 developers shipped this update, including Marcos Hernanz, Tim Neutkens, gnoff, jimmyhmiller, ai-sdk-factory[bot], Aayush Kapoor, Gregor Martynus, and github-actions, and 6 more.
What were the notable Vercel updates?
Version Packages, feat(eve): add per-session model token-cost limits, and feat(selfmod): keep self-modification private.