v2.9.15
📦 turborepoView on GitHub →
✨ 1 features🐛 23 fixes🔧 10 symbols
Summary
This release primarily focuses on stability improvements by fixing numerous race conditions related to caching, file system operations, and process management. A significant effort was made to replace panics and expect calls with safer error handling across the codebase.
✨ New Features
- Added `with-vite-module-federation` example documentation.
🐛 Bug Fixes
- Pruned package.json workspaces.
- Waited for process trees before task completion.
- Prevented cache archive symlink reads.
- Avoided path-racy chmod during directory restore.
- Prevented cache restore symlink race writes.
- Made structured log symlink defense race-safe.
- Preserved Bun alias child packages.
- Avoided UTF-8 panics at boundaries.
- Preserved non-UTF-8 Git path boundaries.
- Created daemon directories with private permissions.
- Returned Berry lockfile errors instead of panicking.
- Isolated Corepack state in integration tests.
- Prevented Windows process drain hangs.
- Refactored execsync to execfilesync for Shell command built from environment values.
- Validated daemon discovery responses.
- Stored PackageGraph root invariants.
- Avoided graph utility node lookup panics.
- Avoided graph walker expect() calls.
- Avoided API client expect calls.
- Avoided task executor expect calls.
- Avoided repository NAPI unwrap calls.
- Deflaked daemon existing process test.
- Deflaked Corepack prepare lock on Windows.