RepoJournal
Vercel

@vercel

Next.js + the Vercel platform — frontend infrastructure for the web

Pick a date

The Wire · Showcase

TURBOREPO HARDENS AGAINST OS-LEVEL CRASHES AND BAKE LOCKFILE BREAKAGE

By RepoJournal · Filed · About Vercel

Turborepo shipped four critical fixes overnight that prevent panics on non-UTF-8 paths, stop Bun lockfiles from rewrites, and close a symlink race condition in logging.

The most urgent: Rust panics when encountering non-UTF-8 bytes in environment variables or filesystem paths can now crash the daemon [1]. Turborepo now defers those panics until a package actually needs to process the bad path, and keeps OS-native representations instead of forcing UTF-8 conversion at the boundary. The same hardening applies to SCM parsing [2], where valid Unix Git paths containing non-UTF-8 bytes were breaking unrelated package hashes. That fix now preserves raw Git paths and only errors if a queried package actually includes one. Separately, Bun's duplicate alias requirement was causing `turbo prune --docker` to emit lockfiles Bun treated as stale, triggering rewrites even under `--frozen-lockfile` [3]. Structured log creation also had a TOCTOU window where symlinks could slip through validation before the file opened [4]. All four fixes are already in canary and stable. Finally, Turborepo now denies Clippy's unwrap/expect usage by default across the workspace [5], with gradual cleanup in progress. Next.js 16.3.0-canary.22 ships the turbo-tasks recomputation priority bump [6] that schedules cache misses ahead of invalidation work.

Action items

References

  1. [1] fix: Avoid UTF-8 panics at boundaries ↗ vercel/turborepo
  2. [2] fix: Preserve non-UTF-8 Git path boundaries ↗ vercel/turborepo
  3. [3] fix: Preserve Bun alias child packages ↗ vercel/turborepo
  4. [4] fix: Make structured log symlink defense race-safe ↗ vercel/turborepo
  5. [5] chore: Deny Rust panic extraction by default ↗ vercel/turborepo
  6. [6] turbo-tasks: prioritize recomputed tasks with Recomputation priority (#93876) vercel/next.js

FAQ

What changed in Vercel on May 18, 2026?
Turborepo shipped four critical fixes overnight that prevent panics on non-UTF-8 paths, stop Bun lockfiles from rewrites, and close a symlink race condition in logging.
What should Vercel teams do about it?
Upgrade turborepo to latest stable immediately if you ship non-UTF-8 paths or use Bun lockfiles • Monitor canary releases for the turbo-tasks recomputation priority rollout • Review your daemon logs if you've seen recent crashes on edge-case file paths
Which Vercel repositories shipped on May 18, 2026?
vercel/turborepo, vercel/next.js

Related across the cluster

For your repos

The showcase is a teaser.
Your wire is the product.

Same engine. Different stack. Below: what changes when the wire is yours.

Showcase wire

  • 14 famous open source orgs
  • One wire per day
  • Public, generic
  • Read on the web, when you remember

Your wire

  • Up to 1,500 of your repos - orgs, deps, vendors
  • Morning and evening briefs
  • Action items routed to your team
  • Slack delivery, email, breaking-news CVE alerts

Want a hands-on demo first? Ask a current user for an invite link.