Nitro v3.0.260522-beta: Build-Time Tracing Wrappers, VFS Performance Boost, Vercel Queues in Dev

Nitro v3.0.260522-beta: Build-Time Tracing Wrappers, VFS Performance Boost, Vercel Queues in Dev

lschvn

Nitro v3.0.260522-beta dropped May 22, 2026, extending the v3 beta track that began in April. The release adds three features that together significantly improve the development experience for production-oriented server-side TypeScript applications: build-time tracing instrumentation, a VFS-backed dynamic code cache, and local Vercel queue emulation.

Build-time route handler tracing

PR #4240 introduces automatic tracing span wrapping around every Nitro route handler at build time. When a request hits a Nitro server, spans are emitted for each handler invocation with metadata including the route path, HTTP method, duration, and cache status. These spans integrate with OpenTelemetry-compatible receivers — you point your OTEL_EXPORTER_OTLP_ENDPOINT at a collector and get full request traces without writing a single line of instrumentation code.

This is distinct from the OpenTelemetry SDK approach: Nitro is emitting spans from within its own router, so the data includes Nitro-specific context (route name, storage cache hits, event timings) that generic HTTP middleware cannot provide.

VFS caching for dynamic code

PR #4251 introduces a VFS layer for Nitro's dynamic app code. Previously, a dev-server restart forced Nitro to re-evaluate the entire module graph — every route handler, every useStorage() call, every event hook. For applications with hundreds of routes or expensive initialization logic, this added seconds to every restart.

The new VFS cache serializes the resolved state of Nitro's internal registry after the first request is handled. Subsequent starts load from this cache, skipping the evaluation step. The cache is invalidated automatically when source files change. The improvement is most visible in large monorepos and Nuxt 3 applications using Nitro as the server layer.

Vercel queues in local dev

The Vercel preset gains queue support in local development via vercel dev (#4264). Queue handlers defined with nitro.tasks are now recognized and executed by a local Vercel Runtime stub during development. This means you can write a queue consumer, call it from a route handler using @vercel/functions, and debug the full async flow — including retries and dead-letter queue behavior — entirely locally.

// tasks/send-email.ts
export defineTask(async ({ id, to, subject }) => {
  await sendEmail(to, subject);
  return { result: 'sent' };
});
// routes/api/signup.ts
import { queue } from '@vercel/functions';

export default defineEventHandler(async (event) => {
  await db.createUser(await readBody(event));
  await queue('tasks/send-email', { to: 'user@example.com', subject: 'Welcome' });
  return { ok: true };
});

Security patches from v3.0.260429-beta

Two vulnerabilities patched in the prior beta (v3.0.260429-beta) are also present in earlier releases and users are strongly encouraged to upgrade:

  • GHSA-5w89-w975-hf9q: Proxy route rules could be bypassed via malformed request paths, allowing requests to reach back-end services that should have been excluded by route rules.
  • GHSA-9phm-9p8f-hw5m: Open redirect via protocol-relative URL in redirect route rules. An attacker could craft a redirect target that navigates off-domain.

AWS Amplify supports Node.js 24

The AWS Amplify preset now ships with Node.js 24 runtime support (#4245). The preset was updated to use the new Amplify Node.js 24 handler interface, so existing Amplify deployments can bump their Nitro runtime to Node 24 without configuration changes.

Nitro v3.0.260522-beta is available on npm as nitro@3.0.0-260522-beta. The v3 beta track is considered stable for most workloads; the team is targeting a stable v3.0 release in the coming weeks.

Frequently Asked Questions

Related articles

More coverage with overlapping topics and tags.

Nitro v3 Beta Update: Built-in Tracing, Smarter Dep Tracing, and Vercel Queues
TypeScript

Nitro v3 Beta Update: Built-in Tracing, Smarter Dep Tracing, and Vercel Queues

The April 2026 Nitro v3 beta update brings experimental tracing channels, full-trace dependency detection with native package awareness, Vercel queue support, and Tencent EdgeOne Pages deployment — alongside H3 v2 security and cookie improvements.
Node.js 26.3.0: Buffer Pool Doubles, Permission API Gains drop(), Intel Macs at Risk
TypeScript

Node.js 26.3.0: Buffer Pool Doubles, Permission API Gains drop(), Intel Macs at Risk

Node.js 26.3.0 lands with a doubled default Buffer.poolSize to 64 KiB, a new permission.drop() method for granular capability surrender, macOS universal binary warnings, and hardened WebCrypto. npm is bumped to 11.16.0.
Oxc v0.134: oxlint v1.68 Adds Vue Linter Rules and TypeScript Accessor Checks
TypeScript

Oxc v0.134: oxlint v1.68 Adds Vue Linter Rules and TypeScript Accessor Checks

Oxc's June release ships oxlint v1.68.0 with two new Vue rules, a TypeScript method-signature-style linter rule, and parser improvements that reject ambient context misuse. oxfmt v0.53.0 ships formatter updates alongside performance work on token parsing.

Comments

Log in Log in to join the conversation.

No comments yet. Be the first to share your thoughts.