The Wire · Showcase
NEXT.JS DROPS DEPENDENCIES, TURBO CUTS WATCH MEMORY, WORKFLOW SERIALIZATION COMPLETE
By RepoJournal · Filed · About Vercel
Next.js shed once_cell and optimized trace loading in a single push [ref:1][ref:2][ref:3], while Workflow locked down error serialization across all boundaries [ref:6][ref:7].
The Next.js compiler moved fast overnight: LazyLock lookups replaced with phf::Map [1], once_cell fully excised from dependencies [2], and turbopack-trace-server got aggressive interning at parse time to cut memory spikes on large trace loads [3]. Separately, Next.js metadata gained support for non-standard robots.ts directives like Seznam's Request-Rate [4]. Over in Workflow, error serialization is now bulletproof — FatalError and RetryableError round-trip with class identity preserved [5], and all built-in Error subclasses (TypeError, RangeError, SyntaxError, AggregateError) got dedicated handlers that preserve cause chains [6]. The builders also fixed a false-positive node-module error for step-only code in shared modules [7]. Turborepo tightened the screws on performance: watch hash memory is down thanks to map sharing and event coalescing [9], parent-death watchdogs no longer spin CPU on macOS [8], and tbx shell sessions stay alive during long waits at the prompt [10]. Shop bumped template dependencies including Next.js canary [11], switched to Shopify's standard ?variant= query parameter [12], and trimmed 68 lines of verbose comments under a new one-line-max rule [13].
Action items
- → Review once_cell removal impact in your Next.js compiler integrations vercel/next.js [plan]
- → Test turbo watch memory usage on large monorepos — coalescing may affect rebuild timing vercel/turborepo [monitor]
- → Update Workflow error handling tests to verify serialization round-trips in non-SWC environments vercel/workflow [plan]
References
- [1] Replace Lazy<FxHashMap> static lookups with phf::Map ↗ vercel/next.js
- [2] Drop once_cell from all direct crate deps ↗ vercel/next.js
- [3] [turbo-trace-server] optimize loading even more ↗ vercel/next.js
- [4] feat(metadata): support non-standard directives in robots.ts via `other` ↗ vercel/next.js
- [5] Add first-class serialization for `FatalError` and `RetryableError` ↗ vercel/workflow
- [6] Add first-class serialization for built-in Error subclasses ↗ vercel/workflow
- [7] fix(builders): avoid false-positive node-module errors for step-only usage in shared modules ↗ vercel/workflow
- [8] fix: Reduce parent-death watchdog CPU usage ↗ vercel/turborepo
- [9] perf: Reduce `turbo watch` hash memory spikes ↗ vercel/turborepo
- [10] fix: Keep tbx shell connections stable ↗ vercel/turborepo
- [11] Bump template dependencies ↗ vercel/shop
- [12] Use Shopify variant query parameter ↗ vercel/shop
- [13] Trim verbose comments + one-line-max rule ↗ vercel/shop
FAQ
- What changed in Vercel on May 2, 2026?
- Next.js shed once_cell and optimized trace loading in a single push , while Workflow locked down error serialization across all boundaries .
- What should Vercel teams do about it?
- Review once_cell removal impact in your Next.js compiler integrations • Test turbo watch memory usage on large monorepos — coalescing may affect rebuild timing • Update Workflow error handling tests to verify serialization round-trips in non-SWC environments
- Which Vercel repositories shipped on May 2, 2026?
- vercel/next.js, vercel/workflow, vercel/turborepo, vercel/shop