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
- → Upgrade turborepo to latest stable immediately if you ship non-UTF-8 paths or use Bun lockfiles vercel/turborepo [immediate]
- → Monitor canary releases for the turbo-tasks recomputation priority rollout vercel/next.js [monitor]
- → Review your daemon logs if you've seen recent crashes on edge-case file paths vercel/turborepo [plan]
References
- [1] fix: Avoid UTF-8 panics at boundaries ↗ vercel/turborepo
- [2] fix: Preserve non-UTF-8 Git path boundaries ↗ vercel/turborepo
- [3] fix: Preserve Bun alias child packages ↗ vercel/turborepo
- [4] fix: Make structured log symlink defense race-safe ↗ vercel/turborepo
- [5] chore: Deny Rust panic extraction by default ↗ vercel/turborepo
- [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