The linux-x64 binary for turbo, a monorepo build system.
Last release today
26 Aug 2026
Ships on a steady schedule
a new release about every 9 days
Nearly every release is documented
notes for 35 of 36 stable releases
Nothing withdrawn
no release was ever pulled
5 months old
214 releases · first in 2026
Release timeline
214 releases since 2026Releases
- 2.9.19-canary.211 Jun 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.19-canary.2 -->
What's Changed
Changelog
- release(turborepo): 2.9.19-canary.1 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/13065
- fix: Stop shim from killing local turbo on Windows Ctrl+C by @anthonyshew in https://github.com/vercel/turborepo/pull/13067
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.19-canary.1...v2.9.19-canary.2
- 2.9.19-canary.111 Jun 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.19-canary.1 -->
What's Changed
Changelog
- release(turborepo): 2.9.17-canary.7 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/13046
- fix: Send Ctrl+C to Windows PTY tasks by @anthonyshew in https://github.com/vercel/turborepo/pull/13041
- release(turborepo): 2.9.17 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/13047
- ci: Fetch version.txt via API in docs alias failure notification by @anthonyshew in https://github.com/vercel/turborepo/pull/13050
- fix: Harden cache archive symlink restore by @anthonyshew in https://github.com/vercel/turborepo/pull/13051
- chore: Remove web UI mode by @anthonyshew in https://github.com/vercel/turborepo/pull/13052
- fix: Harden query server file access by @anthonyshew in https://github.com/vercel/turborepo/pull/13053
- fix: Confine prune patch paths by @anthonyshew in https://github.com/vercel/turborepo/pull/13054
- fix: Prevent git argument injection in SCM refs by @anthonyshew in https://github.com/vercel/turborepo/pull/13055
- fix: Strip special mode bits from cache restore by @anthonyshew in https://github.com/vercel/turborepo/pull/13056
- fix: Contain incremental cache outputs by @anthonyshew in https://github.com/vercel/turborepo/pull/13057
- fix(turborepo): Normalize Windows daemon path hash by @Balance8 in https://github.com/vercel/turborepo/pull/13020
- fix: Preserve vt100 cell byte counts by @anthonyshew in https://github.com/vercel/turborepo/pull/13058
- fix: Separate artifact signature fields by @anthonyshew in https://github.com/vercel/turborepo/pull/13059
- fix: Validate OidHash hex buffers by @anthonyshew in https://github.com/vercel/turborepo/pull/13060
- fix: Block self-hosted login URLs from attempting to use Vercel's SSO by @anthonyshew in https://github.com/vercel/turborepo/pull/13061
- release(turborepo): 2.9.18 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/13062
- fix: Re-authenticate when stored token loses access to linked team by @anthonyshew in https://github.com/vercel/turborepo/pull/13064
New Contributors
- @Balance8 made their first contribution in https://github.com/vercel/turborepo/pull/13020
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.17-canary.7...v2.9.19-canary.1
- 2.9.1810 Jun 2026
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.18 -->
What's Changed
Changelog
- release(turborepo): 2.9.17 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/13047
- ci: Fetch version.txt via API in docs alias failure notification by @anthonyshew in https://github.com/vercel/turborepo/pull/13050
- fix: Harden cache archive symlink restore by @anthonyshew in https://github.com/vercel/turborepo/pull/13051
- chore: Remove web UI mode by @anthonyshew in https://github.com/vercel/turborepo/pull/13052
- fix: Harden query server file access by @anthonyshew in https://github.com/vercel/turborepo/pull/13053
- fix: Confine prune patch paths by @anthonyshew in https://github.com/vercel/turborepo/pull/13054
- fix: Prevent git argument injection in SCM refs by @anthonyshew in https://github.com/vercel/turborepo/pull/13055
- fix: Strip special mode bits from cache restore by @anthonyshew in https://github.com/vercel/turborepo/pull/13056
- fix: Contain incremental cache outputs by @anthonyshew in https://github.com/vercel/turborepo/pull/13057
- fix(turborepo): Normalize Windows daemon path hash by @Balance8 in https://github.com/vercel/turborepo/pull/13020
- fix: Preserve vt100 cell byte counts by @anthonyshew in https://github.com/vercel/turborepo/pull/13058
- fix: Separate artifact signature fields by @anthonyshew in https://github.com/vercel/turborepo/pull/13059
- fix: Validate OidHash hex buffers by @anthonyshew in https://github.com/vercel/turborepo/pull/13060
- fix: Block self-hosted login URLs from attempting to use Vercel's SSO by @anthonyshew in https://github.com/vercel/turborepo/pull/13061
New Contributors
- @Balance8 made their first contribution in https://github.com/vercel/turborepo/pull/13020
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.17...v2.9.18
- 2.9.179 Jun 2026
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.17 -->
What's Changed
Changelog
- fix: Keep non-PTY stdin alive for persistent tasks by @anthonyshew in https://github.com/vercel/turborepo/pull/12972
- release(turborepo): 2.9.16 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12970
- release(turborepo): 2.9.17-canary.1 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12973
- fix: Add auth HTTP timeouts by @anthonyshew in https://github.com/vercel/turborepo/pull/12976
- fix: Detect affected root tasks in query by @anthonyshew in https://github.com/vercel/turborepo/pull/12977
- fix: Wait for Windows graceful shutdown by @anthonyshew in https://github.com/vercel/turborepo/pull/12979
- release(turborepo): 2.9.17-canary.2 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12980
- test: Skip installs for JSON output fixtures by @anthonyshew in https://github.com/vercel/turborepo/pull/12981
- feat: Add Rsbuild examples by @Nsttt in https://github.com/vercel/turborepo/pull/12942
- test: Skip installs for single package dry runs by @anthonyshew in https://github.com/vercel/turborepo/pull/12982
- test: Skip Corepack setup without installs by @anthonyshew in https://github.com/vercel/turborepo/pull/12983
- test: Skip installs for metadata-only Rust tests by @anthonyshew in https://github.com/vercel/turborepo/pull/12985
- test: Skip remaining unnecessary fixture installs by @anthonyshew in https://github.com/vercel/turborepo/pull/12986
- test: Add final hash contract snapshots by @anthonyshew in https://github.com/vercel/turborepo/pull/12984
- test: Trim run logging integration matrix by @anthonyshew in https://github.com/vercel/turborepo/pull/12987
- test: Trim affected query integration matrix by @anthonyshew in https://github.com/vercel/turborepo/pull/12988
- test: Narrow Windows integration test group by @anthonyshew in https://github.com/vercel/turborepo/pull/12989
- test: Trim task dependency integration coverage by @anthonyshew in https://github.com/vercel/turborepo/pull/12990
- test: Trim affected integration coverage by @anthonyshew in https://github.com/vercel/turborepo/pull/12991
- test: Collapse integration test matrices by @anthonyshew in https://github.com/vercel/turborepo/pull/12992
- test: Collapse non-watch integration matrices by @anthonyshew in https://github.com/vercel/turborepo/pull/12993
- test: Collapse summary and caching test setup by @anthonyshew in https://github.com/vercel/turborepo/pull/12994
- test: Trim lockfile-aware caching integration matrix by @anthonyshew in https://github.com/vercel/turborepo/pull/12995
- test: Move inference, env, and otel coverage lower by @anthonyshew in https://github.com/vercel/turborepo/pull/12996
- test: Trim turborepo-scm subprocess tests by @anthonyshew in https://github.com/vercel/turborepo/pull/12998
- test: Remove Windows nextest thread cap by @anthonyshew in https://github.com/vercel/turborepo/pull/12999
- test: Trim workspace config integration tests by @anthonyshew in https://github.com/vercel/turborepo/pull/13000
- test: Trim run logging integration coverage by @anthonyshew in https://github.com/vercel/turborepo/pull/13001
- test: Trim summary inference and single package tests by @anthonyshew in https://github.com/vercel/turborepo/pull/13002
- test: Trim continue and persistent integration tests by @anthonyshew in https://github.com/vercel/turborepo/pull/13004
- test: Trim force and workspace inheritance tests by @anthonyshew in https://github.com/vercel/turborepo/pull/13005
- test: Trim SCM regression matrix by @anthonyshew in https://github.com/vercel/turborepo/pull/13006
- test: Trim miscellaneous integration tests by @anthonyshew in https://github.com/vercel/turborepo/pull/13007
- test: Trim affected and cache integration coverage by @anthonyshew in https://github.com/vercel/turborepo/pull/13008
- refactor: Split engine builder modules by @anthonyshew in https://github.com/vercel/turborepo/pull/13009
- refactor: Split process child module by @anthonyshew in https://github.com/vercel/turborepo/pull/13014
- refactor: Split CLI module by @anthonyshew in https://github.com/vercel/turborepo/pull/13013
- refactor: Split Bun lockfile module by @anthonyshew in https://github.com/vercel/turborepo/pull/13012
- Fix typo in .gitignore comment by @saiteja-madha in https://github.com/vercel/turborepo/pull/13010
- fix: Preserve Bun nested dependency versions by @anthonyshew in https://github.com/vercel/turborepo/pull/13016
- docs: Exclude Next.js dev server output from cache examples by @anthonyshew in https://github.com/vercel/turborepo/pull/13019
- release(turborepo): 2.9.17-canary.3 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/13017
- fix: Highlight active docs sidebar item by @anthonyshew in https://github.com/vercel/turborepo/pull/13023
- fix: Ignore peer dependencies in package graph by @kitten in https://github.com/vercel/turborepo/pull/13025
- release(turborepo): 2.9.17-canary.4 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/13032
- fix: Preserve pnpm override-resolved prune deps by @anthonyshew in https://github.com/vercel/turborepo/pull/13031
- fix: Keep PTY stdin open for tasks by @anthonyshew in https://github.com/vercel/turborepo/pull/13033
- fix: Add TUI pane padding before logs by @anthonyshew in https://github.com/vercel/turborepo/pull/13034
- fix(api-client): Support P-521 ECDSA certificate chains over rustls by @anthonyshew in https://github.com/vercel/turborepo/pull/13036
- chore: Restore aarch64 musl release builds by @anthonyshew in https://github.com/vercel/turborepo/pull/13037
- release(turborepo): 2.9.17-canary.5 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/13038
- docs: Remove ESM warning from gen page by @anthonyshew in https://github.com/vercel/turborepo/pull/13039
- fix: Bypass npm command shim on Windows by @anthonyshew in https://github.com/vercel/turborepo/pull/13040
- feat: Add JIT task input hashing by @anthonyshew in https://github.com/vercel/turborepo/pull/13043
- fix: Defer hashes for JIT task dependents by @anthonyshew in https://github.com/vercel/turborepo/pull/13045
- release(turborepo): 2.9.17-canary.6 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/13044
- release(turborepo): 2.9.17-canary.7 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/13046
- fix: Send Ctrl+C to Windows PTY tasks by @anthonyshew in https://github.com/vercel/turborepo/pull/13041
New Contributors
- @Nsttt made their first contribution in https://github.com/vercel/turborepo/pull/12942
- @saiteja-madha made their first contribution in https://github.com/vercel/turborepo/pull/13010
- @kitten made their first contribution in https://github.com/vercel/turborepo/pull/13025
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.16...v2.9.17
- 2.9.17-canary.79 Jun 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.17-canary.7 -->
What's Changed
Changelog
- fix: Defer hashes for JIT task dependents by @anthonyshew in https://github.com/vercel/turborepo/pull/13045
- release(turborepo): 2.9.17-canary.6 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/13044
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.17-canary.6...v2.9.17-canary.7
- 2.9.17-canary.68 Jun 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.17-canary.6 -->
What's Changed
Changelog
- release(turborepo): 2.9.17-canary.5 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/13038
- docs: Remove ESM warning from gen page by @anthonyshew in https://github.com/vercel/turborepo/pull/13039
- fix: Bypass npm command shim on Windows by @anthonyshew in https://github.com/vercel/turborepo/pull/13040
- feat: Add JIT task input hashing by @anthonyshew in https://github.com/vercel/turborepo/pull/13043
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.17-canary.5...v2.9.17-canary.6
- 2.9.17-canary.57 Jun 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.17-canary.5 -->
What's Changed
Changelog
- release(turborepo): 2.9.17-canary.4 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/13032
- fix: Preserve pnpm override-resolved prune deps by @anthonyshew in https://github.com/vercel/turborepo/pull/13031
- fix: Keep PTY stdin open for tasks by @anthonyshew in https://github.com/vercel/turborepo/pull/13033
- fix: Add TUI pane padding before logs by @anthonyshew in https://github.com/vercel/turborepo/pull/13034
- fix(api-client): Support P-521 ECDSA certificate chains over rustls by @anthonyshew in https://github.com/vercel/turborepo/pull/13036
- chore: Restore aarch64 musl release builds by @anthonyshew in https://github.com/vercel/turborepo/pull/13037
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.17-canary.4...v2.9.17-canary.5
- 2.9.17-canary.45 Jun 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.17-canary.4 -->
What's Changed
Changelog
- docs: Exclude Next.js dev server output from cache examples by @anthonyshew in https://github.com/vercel/turborepo/pull/13019
- release(turborepo): 2.9.17-canary.3 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/13017
- fix: Highlight active docs sidebar item by @anthonyshew in https://github.com/vercel/turborepo/pull/13023
- fix: Ignore peer dependencies in package graph by @kitten in https://github.com/vercel/turborepo/pull/13025
New Contributors
- @kitten made their first contribution in https://github.com/vercel/turborepo/pull/13025
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.17-canary.3...v2.9.17-canary.4
- 2.9.17-canary.33 Jun 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.17-canary.3 -->
What's Changed
Changelog
- release(turborepo): 2.9.17-canary.2 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12980
- test: Skip installs for JSON output fixtures by @anthonyshew in https://github.com/vercel/turborepo/pull/12981
- feat: Add Rsbuild examples by @Nsttt in https://github.com/vercel/turborepo/pull/12942
- test: Skip installs for single package dry runs by @anthonyshew in https://github.com/vercel/turborepo/pull/12982
- test: Skip Corepack setup without installs by @anthonyshew in https://github.com/vercel/turborepo/pull/12983
- test: Skip installs for metadata-only Rust tests by @anthonyshew in https://github.com/vercel/turborepo/pull/12985
- test: Skip remaining unnecessary fixture installs by @anthonyshew in https://github.com/vercel/turborepo/pull/12986
- test: Add final hash contract snapshots by @anthonyshew in https://github.com/vercel/turborepo/pull/12984
- test: Trim run logging integration matrix by @anthonyshew in https://github.com/vercel/turborepo/pull/12987
- test: Trim affected query integration matrix by @anthonyshew in https://github.com/vercel/turborepo/pull/12988
- test: Narrow Windows integration test group by @anthonyshew in https://github.com/vercel/turborepo/pull/12989
- test: Trim task dependency integration coverage by @anthonyshew in https://github.com/vercel/turborepo/pull/12990
- test: Trim affected integration coverage by @anthonyshew in https://github.com/vercel/turborepo/pull/12991
- test: Collapse integration test matrices by @anthonyshew in https://github.com/vercel/turborepo/pull/12992
- test: Collapse non-watch integration matrices by @anthonyshew in https://github.com/vercel/turborepo/pull/12993
- test: Collapse summary and caching test setup by @anthonyshew in https://github.com/vercel/turborepo/pull/12994
- test: Trim lockfile-aware caching integration matrix by @anthonyshew in https://github.com/vercel/turborepo/pull/12995
- test: Move inference, env, and otel coverage lower by @anthonyshew in https://github.com/vercel/turborepo/pull/12996
- test: Trim turborepo-scm subprocess tests by @anthonyshew in https://github.com/vercel/turborepo/pull/12998
- test: Remove Windows nextest thread cap by @anthonyshew in https://github.com/vercel/turborepo/pull/12999
- test: Trim workspace config integration tests by @anthonyshew in https://github.com/vercel/turborepo/pull/13000
- test: Trim run logging integration coverage by @anthonyshew in https://github.com/vercel/turborepo/pull/13001
- test: Trim summary inference and single package tests by @anthonyshew in https://github.com/vercel/turborepo/pull/13002
- test: Trim continue and persistent integration tests by @anthonyshew in https://github.com/vercel/turborepo/pull/13004
- test: Trim force and workspace inheritance tests by @anthonyshew in https://github.com/vercel/turborepo/pull/13005
- test: Trim SCM regression matrix by @anthonyshew in https://github.com/vercel/turborepo/pull/13006
- test: Trim miscellaneous integration tests by @anthonyshew in https://github.com/vercel/turborepo/pull/13007
- test: Trim affected and cache integration coverage by @anthonyshew in https://github.com/vercel/turborepo/pull/13008
- refactor: Split engine builder modules by @anthonyshew in https://github.com/vercel/turborepo/pull/13009
- refactor: Split process child module by @anthonyshew in https://github.com/vercel/turborepo/pull/13014
- refactor: Split CLI module by @anthonyshew in https://github.com/vercel/turborepo/pull/13013
- refactor: Split Bun lockfile module by @anthonyshew in https://github.com/vercel/turborepo/pull/13012
- Fix typo in .gitignore comment by @saiteja-madha in https://github.com/vercel/turborepo/pull/13010
- fix: Preserve Bun nested dependency versions by @anthonyshew in https://github.com/vercel/turborepo/pull/13016
New Contributors
- @Nsttt made their first contribution in https://github.com/vercel/turborepo/pull/12942
- @saiteja-madha made their first contribution in https://github.com/vercel/turborepo/pull/13010
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.17-canary.2...v2.9.17-canary.3
- 2.9.17-canary.230 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.17-canary.2 -->
What's Changed
Changelog
- release(turborepo): 2.9.17-canary.1 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12973
- fix: Add auth HTTP timeouts by @anthonyshew in https://github.com/vercel/turborepo/pull/12976
- fix: Detect affected root tasks in query by @anthonyshew in https://github.com/vercel/turborepo/pull/12977
- fix: Wait for Windows graceful shutdown by @anthonyshew in https://github.com/vercel/turborepo/pull/12979
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.17-canary.1...v2.9.17-canary.2
- 2.9.17-canary.128 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.17-canary.1 -->
What's Changed
Changelog
- fix: Preserve nested Bun dependency versions by @anthonyshew in https://github.com/vercel/turborepo/pull/12963
- Revert "fix: Preserve nested Bun dependency versions" by @anthonyshew in https://github.com/vercel/turborepo/pull/12964
- release(turborepo): 2.9.16-canary.2 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12961
- fix: Preserve nested Bun dependency versions by @anthonyshew in https://github.com/vercel/turborepo/pull/12965
- fix: Don't delete existing
.gitwhen using--no-gitflag by @anthonyshew in https://github.com/vercel/turborepo/pull/12968 - fix: Keep non-PTY stdin alive for persistent tasks by @anthonyshew in https://github.com/vercel/turborepo/pull/12972
- release(turborepo): 2.9.16 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12970
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.16-canary.2...v2.9.17-canary.1
- 2.9.1628 May 2026
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.16 -->
What's Changed
Changelog
- release(turborepo): 2.9.15 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12955
- fix: Avoid hanging PTY shutdown by @anthonyshew in https://github.com/vercel/turborepo/pull/12958
- fix: Retry npm tlog publish failures by @anthonyshew in https://github.com/vercel/turborepo/pull/12959
- release(turborepo): 2.9.16-canary.1 by @anthonyshew in https://github.com/vercel/turborepo/pull/12960
- fix: Preserve nested Bun dependency versions by @anthonyshew in https://github.com/vercel/turborepo/pull/12963
- Revert "fix: Preserve nested Bun dependency versions" by @anthonyshew in https://github.com/vercel/turborepo/pull/12964
- release(turborepo): 2.9.16-canary.2 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12961
- fix: Preserve nested Bun dependency versions by @anthonyshew in https://github.com/vercel/turborepo/pull/12965
- fix: Don't delete existing
.gitwhen using--no-gitflag by @anthonyshew in https://github.com/vercel/turborepo/pull/12968
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.15...v2.9.16
- 2.9.16-canary.227 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.16-canary.2 -->
What's Changed
Changelog
- release(turborepo): 2.9.15-canary.7 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12935
- fix: Restore a few internal invariant checks by @anthonyshew in https://github.com/vercel/turborepo/pull/12933
- fix: Improve profile tracing coverage by @anthonyshew in https://github.com/vercel/turborepo/pull/12936
- fix: Use build-scale OTel duration buckets by @anthonyshew in https://github.com/vercel/turborepo/pull/12939
- fix: Preserve pnpm injected peer package entries by @anthonyshew in https://github.com/vercel/turborepo/pull/12940
- feat: Add heap allocation profiling by @anthonyshew in https://github.com/vercel/turborepo/pull/12943
- release(turborepo): 2.9.15-canary.8 by @anthonyshew in https://github.com/vercel/turborepo/pull/12945
- docs: Correct attribute presence claims in turborepo-otel by @adityasingh2400 in https://github.com/vercel/turborepo/pull/12932
- chore(turbo-codemod): Remove duplicate "in" in transforms path comment by @mvanhorn in https://github.com/vercel/turborepo/pull/12948
- chore: Switch Geist font imports to npm geist package by @christopherkindl in https://github.com/vercel/turborepo/pull/12952
- fix: Respect root gitignore during prune by @anthonyshew in https://github.com/vercel/turborepo/pull/12953
- fix: Harden OTEL endpoint validation by @anthonyshew in https://github.com/vercel/turborepo/pull/12954
- release(turborepo): 2.9.15 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12955
- fix: Avoid hanging PTY shutdown by @anthonyshew in https://github.com/vercel/turborepo/pull/12958
- fix: Retry npm tlog publish failures by @anthonyshew in https://github.com/vercel/turborepo/pull/12959
- release(turborepo): 2.9.16-canary.1 by @anthonyshew in https://github.com/vercel/turborepo/pull/12960
New Contributors
- @adityasingh2400 made their first contribution in https://github.com/vercel/turborepo/pull/12932
- @mvanhorn made their first contribution in https://github.com/vercel/turborepo/pull/12948
- @christopherkindl made their first contribution in https://github.com/vercel/turborepo/pull/12952
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.15-canary.7...v2.9.16-canary.2
- 2.9.16-canary.127 May 2026pre-release
Nothing published for this version
- 2.9.1526 May 2026
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.15 -->
What's Changed
Changelog
- release(turborepo): 2.9.14 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12805
- fix: Prune package.json workspaces by @anthonyshew in https://github.com/vercel/turborepo/pull/12808
- fix: Wait for process trees before task completion by @anthonyshew in https://github.com/vercel/turborepo/pull/12809
- release(turborepo): 2.9.15-canary.1 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12810
- ci: Sign macOS release binaries by @anthonyshew in https://github.com/vercel/turborepo/pull/12811
- release(turborepo): 2.9.15-canary.2 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12812
- fix: Prevent cache archive symlink reads by @anthonyshew in https://github.com/vercel/turborepo/pull/12813
- release(turborepo): 2.9.15-canary.3 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12814
- fix: Avoid path-racy chmod during directory restore by @anthonyshew in https://github.com/vercel/turborepo/pull/12815
- fix: Prevent cache restore symlink race writes by @anthonyshew in https://github.com/vercel/turborepo/pull/12817
- chore: Deny Rust panic extraction by default by @anthonyshew in https://github.com/vercel/turborepo/pull/12818
- fix: Make structured log symlink defense race-safe by @anthonyshew in https://github.com/vercel/turborepo/pull/12821
- fix: Preserve Bun alias child packages by @anthonyshew in https://github.com/vercel/turborepo/pull/12822
- fix: Avoid UTF-8 panics at boundaries by @anthonyshew in https://github.com/vercel/turborepo/pull/12823
- fix: Preserve non-UTF-8 Git path boundaries by @anthonyshew in https://github.com/vercel/turborepo/pull/12826
- fix: Create daemon dirs with private permissions by @anthonyshew in https://github.com/vercel/turborepo/pull/12827
- fix: Return Berry lockfile errors instead of panicking by @anthonyshew in https://github.com/vercel/turborepo/pull/12828
- fix: Isolate Corepack state in integration tests by @anthonyshew in https://github.com/vercel/turborepo/pull/12831
- ci: Use larger Windows runners for Rust tests by @anthonyshew in https://github.com/vercel/turborepo/pull/12832
- docs: Add
with-vite-module-federationexample by @gioboa in https://github.com/vercel/turborepo/pull/12794 - test: Run Rust tests without partitioning by @anthonyshew in https://github.com/vercel/turborepo/pull/12833
- chore: Remove
TaskHashTracker-basedexpect()calls by @anthonyshew in https://github.com/vercel/turborepo/pull/12836 - chore: Deduplicate hash canonicalization by @anthonyshew in https://github.com/vercel/turborepo/pull/12837
- fix: Prevent Windows process drain hangs by @anthonyshew in https://github.com/vercel/turborepo/pull/12838
- fix: Refactor execsync to execfilesync for Shell command built from environment values by @bjormgyg in https://github.com/vercel/turborepo/pull/12829
- test: Bound vt100 random quickcheck by @anthonyshew in https://github.com/vercel/turborepo/pull/12839
- fix: Validate daemon discovery responses by @anthonyshew in https://github.com/vercel/turborepo/pull/12840
- fix: Store
PackageGraphroot invariants by @anthonyshew in https://github.com/vercel/turborepo/pull/12841 - chore: Avoid engine graph node expects by @anthonyshew in https://github.com/vercel/turborepo/pull/12842
- test: Make Rust tests parallel-safe by @anthonyshew in https://github.com/vercel/turborepo/pull/12843
- fix: Avoid graph utility node lookup panics by @anthonyshew in https://github.com/vercel/turborepo/pull/12844
- fix: Avoid graph walker
expect()calls by @anthonyshew in https://github.com/vercel/turborepo/pull/12845 - fix: Remove fs panic extraction lints by @anthonyshew in https://github.com/vercel/turborepo/pull/12846
- fix: Remove fixed map panic extraction calls by @anthonyshew in https://github.com/vercel/turborepo/pull/12847
- fix: Remove devtools WebSocket panics by @anthonyshew in https://github.com/vercel/turborepo/pull/12850
- fix: Remove json rewrite panic lint allow by @anthonyshew in https://github.com/vercel/turborepo/pull/12848
- fix: Remove turborepo-types panic lint allows by @anthonyshew in https://github.com/vercel/turborepo/pull/12849
- chore: Remove turborepo-hash build expect by @anthonyshew in https://github.com/vercel/turborepo/pull/12851
- fix: Remove napi panic lint allows by @anthonyshew in https://github.com/vercel/turborepo/pull/12852
- fix: Avoid globwatch expect calls by @anthonyshew in https://github.com/vercel/turborepo/pull/12853
- fix: Remove LSP expect callsites by @anthonyshew in https://github.com/vercel/turborepo/pull/12854
- fix: Remove scope panic lint allows by @anthonyshew in https://github.com/vercel/turborepo/pull/12855
- fix: Remove task hash panic lints by @anthonyshew in https://github.com/vercel/turborepo/pull/12856
- fix: Remove frameworks panic lint allows by @anthonyshew in https://github.com/vercel/turborepo/pull/12857
- fix: Remove microfrontends proxy expect lint allow by @anthonyshew in https://github.com/vercel/turborepo/pull/12859
- fix: Avoid API client expect calls by @anthonyshew in https://github.com/vercel/turborepo/pull/12858
- fix: Avoid task executor expect calls by @anthonyshew in https://github.com/vercel/turborepo/pull/12860
- fix: Remove turbo-trace unwrap callsite by @anthonyshew in https://github.com/vercel/turborepo/pull/12863
- fix: Remove Vercel API mock expect usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12862
- fix: Remove vt100 expect lint allow by @anthonyshew in https://github.com/vercel/turborepo/pull/12861
- fix: Remove turborepo-shim expect callsites by @anthonyshew in https://github.com/vercel/turborepo/pull/12864
- test: Deflake daemon existing process test by @anthonyshew in https://github.com/vercel/turborepo/pull/12865
- fix: Avoid repository NAPI unwrap calls by @anthonyshew in https://github.com/vercel/turborepo/pull/12866
- fix: Remove pidlock panic callsites by @anthonyshew in https://github.com/vercel/turborepo/pull/12867
- fix: Remove telemetry panic callsites by @anthonyshew in https://github.com/vercel/turborepo/pull/12868
- chore: Remove Rust re-export shims by @anthonyshew in https://github.com/vercel/turborepo/pull/12870
- fix: Remove turbo-json panic lint allows by @anthonyshew in https://github.com/vercel/turborepo/pull/12869
- fix: Remove
globwalk'sexpect()callsites by @anthonyshew in https://github.com/vercel/turborepo/pull/12871 - fix: Remove
turbopath'sexpect()callsites by @anthonyshew in https://github.com/vercel/turborepo/pull/12872 - test: Deflake Corepack prepare lock on Windows by @anthonyshew in https://github.com/vercel/turborepo/pull/12873
- fix: Remove signals panic callsites by @anthonyshew in https://github.com/vercel/turborepo/pull/12874
- fix: Remove
turbo-trace'sexpect()allow by @anthonyshew in https://github.com/vercel/turborepo/pull/12876 - fix: Remove Vercel API mock unwrap usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12877
- fix: Remove task executor unwrap usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12878
- fix: Remove run summary expect usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12879
- fix: Remove microfrontends proxy unwrap usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12880
- fix: Remove api client unwrap usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12881
- fix: Remove globwalk unwrap usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12883
- fix: Remove UI
expect()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12882 - fix: Remove microfrontends expect usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12885
- fix: Remove
boundaries'sexpect()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12887 - fix: Remove
turborepo-process'sunwrap()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12888 - fix: Remove UI unwrap usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12889
- fix: Remove microfrontends unwrap allow by @anthonyshew in https://github.com/vercel/turborepo/pull/12890
- fix: Remove
turborepo-process'sexpect()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12891 - fix: Remove scm expect usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12893
- fix: Remove auth unwrap usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12886
- fix: Remove
turbopath'sunwrap()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12884 - fix: Remove
auth'sexpect()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12895 - fix: Remove wax unwrap usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12899
- fix: Remove scm unwrap usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12897
- fix: Remove
turborepo-boundaries'sunwrap()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12896 - fix: Remove daemon unwrap usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12898
- fix: Include lockfile-changed packages in affected tasks by @anthonyshew in https://github.com/vercel/turborepo/pull/12900
- fix: Remove
turborepo-wax'sexpect()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12901 - fix: Remove
turborepo-filewatch'sexpect()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12903 - fix: Remove
turborepo-cache'sexpect()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12902 - fix: Remove
turborepo-daemon'sexpect()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12904 - fix: Remove
turborepo-engine'sunwrap()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12906 - fix: Remove filewatch unwrap usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12907
- fix: Remove engine expect usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12908
- fix: Remove cache unwrap usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12909
- fix: Remove
turborepo-lockfilesexpect()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12910 - chore: Set pnpm minimum release age by @anthonyshew in https://github.com/vercel/turborepo/pull/12912
- fix: Remove
turborepo-lockfiles'sunwrap()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12911 - fix: Remove
turborepo-vt100'sunwrap()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12913 - release(turborepo): 2.9.15-canary.4 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12905
- fix: Remove
turborepo-lib'sunwrap()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12915 - fix: Remove
turborepo-lib'sexpect()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12914 - fix: Remove shim test unwrap usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12917
- fix: Remove turbo json test unwrap allowance by @anthonyshew in https://github.com/vercel/turborepo/pull/12918
- fix: Remove run summary test unwrap usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12916
- release(turborepo): 2.9.15-canary.5 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12919
- fix: Restore task completion semantics by @anthonyshew in https://github.com/vercel/turborepo/pull/12923
- fix: Preserve nested Bun workspace dependency versions by @anthonyshew in https://github.com/vercel/turborepo/pull/12924
- release(turborepo): 2.9.15-canary.6 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12925
- fix: Restore release PR auto-merge by @anthonyshew in https://github.com/vercel/turborepo/pull/12927
- perf: Index repo gitignore matchers by @anthonyshew in https://github.com/vercel/turborepo/pull/12928
- ci: Disable incremental Rust test builds by @anthonyshew in https://github.com/vercel/turborepo/pull/12929
- perf: Trim OpenTelemetry crate features by @anthonyshew in https://github.com/vercel/turborepo/pull/12930
- perf: Trim microfrontends proxy HTTP features by @anthonyshew in https://github.com/vercel/turborepo/pull/12931
- fix: Accept
experimentalCIobject config by @anthonyshew in https://github.com/vercel/turborepo/pull/12934 - release(turborepo): 2.9.15-canary.7 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12935
- fix: Restore a few internal invariant checks by @anthonyshew in https://github.com/vercel/turborepo/pull/12933
- fix: Improve profile tracing coverage by @anthonyshew in https://github.com/vercel/turborepo/pull/12936
- fix: Use build-scale OTel duration buckets by @anthonyshew in https://github.com/vercel/turborepo/pull/12939
- fix: Preserve pnpm injected peer package entries by @anthonyshew in https://github.com/vercel/turborepo/pull/12940
- feat: Add heap allocation profiling by @anthonyshew in https://github.com/vercel/turborepo/pull/12943
- release(turborepo): 2.9.15-canary.8 by @anthonyshew in https://github.com/vercel/turborepo/pull/12945
- docs: Correct attribute presence claims in turborepo-otel by @adityasingh2400 in https://github.com/vercel/turborepo/pull/12932
- chore(turbo-codemod): Remove duplicate "in" in transforms path comment by @mvanhorn in https://github.com/vercel/turborepo/pull/12948
- chore: Switch Geist font imports to npm geist package by @christopherkindl in https://github.com/vercel/turborepo/pull/12952
- fix: Respect root gitignore during prune by @anthonyshew in https://github.com/vercel/turborepo/pull/12953
- fix: Harden OTEL endpoint validation by @anthonyshew in https://github.com/vercel/turborepo/pull/12954
New Contributors
- @gioboa made their first contribution in https://github.com/vercel/turborepo/pull/12794
- @bjormgyg made their first contribution in https://github.com/vercel/turborepo/pull/12829
- @adityasingh2400 made their first contribution in https://github.com/vercel/turborepo/pull/12932
- @mvanhorn made their first contribution in https://github.com/vercel/turborepo/pull/12948
- @christopherkindl made their first contribution in https://github.com/vercel/turborepo/pull/12952
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.14...v2.9.15
- 2.9.15-canary.824 May 2026pre-release
Nothing published for this version
- 2.9.15-canary.722 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.15-canary.7 -->
What's Changed
Changelog
- release(turborepo): 2.9.15-canary.6 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12925
- fix: Restore release PR auto-merge by @anthonyshew in https://github.com/vercel/turborepo/pull/12927
- perf: Index repo gitignore matchers by @anthonyshew in https://github.com/vercel/turborepo/pull/12928
- ci: Disable incremental Rust test builds by @anthonyshew in https://github.com/vercel/turborepo/pull/12929
- perf: Trim OpenTelemetry crate features by @anthonyshew in https://github.com/vercel/turborepo/pull/12930
- perf: Trim microfrontends proxy HTTP features by @anthonyshew in https://github.com/vercel/turborepo/pull/12931
- fix: Accept
experimentalCIobject config by @anthonyshew in https://github.com/vercel/turborepo/pull/12934
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.15-canary.6...v2.9.15-canary.7
- 2.9.15-canary.621 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.15-canary.6 -->
What's Changed
Changelog
- release(turborepo): 2.9.15-canary.5 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12919
- fix: Restore task completion semantics by @anthonyshew in https://github.com/vercel/turborepo/pull/12923
- fix: Preserve nested Bun workspace dependency versions by @anthonyshew in https://github.com/vercel/turborepo/pull/12924
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.15-canary.5...v2.9.15-canary.6
- 2.9.15-canary.520 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.15-canary.5 -->
What's Changed
Changelog
- fix: Remove
turborepo-wax'sexpect()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12901 - fix: Remove
turborepo-filewatch'sexpect()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12903 - fix: Remove
turborepo-cache'sexpect()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12902 - fix: Remove
turborepo-daemon'sexpect()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12904 - fix: Remove
turborepo-engine'sunwrap()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12906 - fix: Remove filewatch unwrap usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12907
- fix: Remove engine expect usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12908
- fix: Remove cache unwrap usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12909
- fix: Remove
turborepo-lockfilesexpect()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12910 - chore: Set pnpm minimum release age by @anthonyshew in https://github.com/vercel/turborepo/pull/12912
- fix: Remove
turborepo-lockfiles'sunwrap()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12911 - fix: Remove
turborepo-vt100'sunwrap()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12913 - release(turborepo): 2.9.15-canary.4 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12905
- fix: Remove
turborepo-lib'sunwrap()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12915 - fix: Remove
turborepo-lib'sexpect()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12914 - fix: Remove shim test unwrap usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12917
- fix: Remove turbo json test unwrap allowance by @anthonyshew in https://github.com/vercel/turborepo/pull/12918
- fix: Remove run summary test unwrap usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12916
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.15-canary.4...v2.9.15-canary.5
- fix: Remove
- 2.9.15-canary.420 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.15-canary.4 -->
What's Changed
Changelog
- release(turborepo): 2.9.15-canary.3 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12814
- fix: Avoid path-racy chmod during directory restore by @anthonyshew in https://github.com/vercel/turborepo/pull/12815
- fix: Prevent cache restore symlink race writes by @anthonyshew in https://github.com/vercel/turborepo/pull/12817
- chore: Deny Rust panic extraction by default by @anthonyshew in https://github.com/vercel/turborepo/pull/12818
- fix: Make structured log symlink defense race-safe by @anthonyshew in https://github.com/vercel/turborepo/pull/12821
- fix: Preserve Bun alias child packages by @anthonyshew in https://github.com/vercel/turborepo/pull/12822
- fix: Avoid UTF-8 panics at boundaries by @anthonyshew in https://github.com/vercel/turborepo/pull/12823
- fix: Preserve non-UTF-8 Git path boundaries by @anthonyshew in https://github.com/vercel/turborepo/pull/12826
- fix: Create daemon dirs with private permissions by @anthonyshew in https://github.com/vercel/turborepo/pull/12827
- fix: Return Berry lockfile errors instead of panicking by @anthonyshew in https://github.com/vercel/turborepo/pull/12828
- fix: Isolate Corepack state in integration tests by @anthonyshew in https://github.com/vercel/turborepo/pull/12831
- ci: Use larger Windows runners for Rust tests by @anthonyshew in https://github.com/vercel/turborepo/pull/12832
- docs: Add
with-vite-module-federationexample by @gioboa in https://github.com/vercel/turborepo/pull/12794 - test: Run Rust tests without partitioning by @anthonyshew in https://github.com/vercel/turborepo/pull/12833
- chore: Remove
TaskHashTracker-basedexpect()calls by @anthonyshew in https://github.com/vercel/turborepo/pull/12836 - chore: Deduplicate hash canonicalization by @anthonyshew in https://github.com/vercel/turborepo/pull/12837
- fix: Prevent Windows process drain hangs by @anthonyshew in https://github.com/vercel/turborepo/pull/12838
- fix: Refactor execsync to execfilesync for Shell command built from environment values by @bjormgyg in https://github.com/vercel/turborepo/pull/12829
- test: Bound vt100 random quickcheck by @anthonyshew in https://github.com/vercel/turborepo/pull/12839
- fix: Validate daemon discovery responses by @anthonyshew in https://github.com/vercel/turborepo/pull/12840
- fix: Store
PackageGraphroot invariants by @anthonyshew in https://github.com/vercel/turborepo/pull/12841 - chore: Avoid engine graph node expects by @anthonyshew in https://github.com/vercel/turborepo/pull/12842
- test: Make Rust tests parallel-safe by @anthonyshew in https://github.com/vercel/turborepo/pull/12843
- fix: Avoid graph utility node lookup panics by @anthonyshew in https://github.com/vercel/turborepo/pull/12844
- fix: Avoid graph walker
expect()calls by @anthonyshew in https://github.com/vercel/turborepo/pull/12845 - fix: Remove fs panic extraction lints by @anthonyshew in https://github.com/vercel/turborepo/pull/12846
- fix: Remove fixed map panic extraction calls by @anthonyshew in https://github.com/vercel/turborepo/pull/12847
- fix: Remove devtools WebSocket panics by @anthonyshew in https://github.com/vercel/turborepo/pull/12850
- fix: Remove json rewrite panic lint allow by @anthonyshew in https://github.com/vercel/turborepo/pull/12848
- fix: Remove turborepo-types panic lint allows by @anthonyshew in https://github.com/vercel/turborepo/pull/12849
- chore: Remove turborepo-hash build expect by @anthonyshew in https://github.com/vercel/turborepo/pull/12851
- fix: Remove napi panic lint allows by @anthonyshew in https://github.com/vercel/turborepo/pull/12852
- fix: Avoid globwatch expect calls by @anthonyshew in https://github.com/vercel/turborepo/pull/12853
- fix: Remove LSP expect callsites by @anthonyshew in https://github.com/vercel/turborepo/pull/12854
- fix: Remove scope panic lint allows by @anthonyshew in https://github.com/vercel/turborepo/pull/12855
- fix: Remove task hash panic lints by @anthonyshew in https://github.com/vercel/turborepo/pull/12856
- fix: Remove frameworks panic lint allows by @anthonyshew in https://github.com/vercel/turborepo/pull/12857
- fix: Remove microfrontends proxy expect lint allow by @anthonyshew in https://github.com/vercel/turborepo/pull/12859
- fix: Avoid API client expect calls by @anthonyshew in https://github.com/vercel/turborepo/pull/12858
- fix: Avoid task executor expect calls by @anthonyshew in https://github.com/vercel/turborepo/pull/12860
- fix: Remove turbo-trace unwrap callsite by @anthonyshew in https://github.com/vercel/turborepo/pull/12863
- fix: Remove Vercel API mock expect usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12862
- fix: Remove vt100 expect lint allow by @anthonyshew in https://github.com/vercel/turborepo/pull/12861
- fix: Remove turborepo-shim expect callsites by @anthonyshew in https://github.com/vercel/turborepo/pull/12864
- test: Deflake daemon existing process test by @anthonyshew in https://github.com/vercel/turborepo/pull/12865
- fix: Avoid repository NAPI unwrap calls by @anthonyshew in https://github.com/vercel/turborepo/pull/12866
- fix: Remove pidlock panic callsites by @anthonyshew in https://github.com/vercel/turborepo/pull/12867
- fix: Remove telemetry panic callsites by @anthonyshew in https://github.com/vercel/turborepo/pull/12868
- chore: Remove Rust re-export shims by @anthonyshew in https://github.com/vercel/turborepo/pull/12870
- fix: Remove turbo-json panic lint allows by @anthonyshew in https://github.com/vercel/turborepo/pull/12869
- fix: Remove
globwalk'sexpect()callsites by @anthonyshew in https://github.com/vercel/turborepo/pull/12871 - fix: Remove
turbopath'sexpect()callsites by @anthonyshew in https://github.com/vercel/turborepo/pull/12872 - test: Deflake Corepack prepare lock on Windows by @anthonyshew in https://github.com/vercel/turborepo/pull/12873
- fix: Remove signals panic callsites by @anthonyshew in https://github.com/vercel/turborepo/pull/12874
- fix: Remove
turbo-trace'sexpect()allow by @anthonyshew in https://github.com/vercel/turborepo/pull/12876 - fix: Remove Vercel API mock unwrap usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12877
- fix: Remove task executor unwrap usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12878
- fix: Remove run summary expect usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12879
- fix: Remove microfrontends proxy unwrap usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12880
- fix: Remove api client unwrap usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12881
- fix: Remove globwalk unwrap usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12883
- fix: Remove UI
expect()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12882 - fix: Remove microfrontends expect usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12885
- fix: Remove
boundaries'sexpect()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12887 - fix: Remove
turborepo-process'sunwrap()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12888 - fix: Remove UI unwrap usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12889
- fix: Remove microfrontends unwrap allow by @anthonyshew in https://github.com/vercel/turborepo/pull/12890
- fix: Remove
turborepo-process'sexpect()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12891 - fix: Remove scm expect usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12893
- fix: Remove auth unwrap usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12886
- fix: Remove
turbopath'sunwrap()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12884 - fix: Remove
auth'sexpect()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12895 - fix: Remove wax unwrap usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12899
- fix: Remove scm unwrap usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12897
- fix: Remove
turborepo-boundaries'sunwrap()usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12896 - fix: Remove daemon unwrap usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12898
- fix: Include lockfile-changed packages in affected tasks by @anthonyshew in https://github.com/vercel/turborepo/pull/12900
New Contributors
- @gioboa made their first contribution in https://github.com/vercel/turborepo/pull/12794
- @bjormgyg made their first contribution in https://github.com/vercel/turborepo/pull/12829
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.15-canary.3...v2.9.15-canary.4
- 2.9.15-canary.316 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.15-canary.3 -->
What's Changed
Changelog
- ci: Sign macOS release binaries by @anthonyshew in https://github.com/vercel/turborepo/pull/12811
- release(turborepo): 2.9.15-canary.2 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12812
- fix: Prevent cache archive symlink reads by @anthonyshew in https://github.com/vercel/turborepo/pull/12813
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.15-canary.2...v2.9.15-canary.3
- 2.9.15-canary.216 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.15-canary.2 -->
What's Changed
Changelog
- release(turborepo): 2.9.15-canary.1 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12810
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.15-canary.1...v2.9.15-canary.2
- 2.9.15-canary.115 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.15-canary.1 -->
What's Changed
Changelog
- chore: Release 2.9.13 by @anthonyshew in https://github.com/vercel/turborepo/pull/12803
- release(turborepo): 2.9.14 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12805
- fix: Prune package.json workspaces by @anthonyshew in https://github.com/vercel/turborepo/pull/12808
- fix: Wait for process trees before task completion by @anthonyshew in https://github.com/vercel/turborepo/pull/12809
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.13-canary.1...v2.9.15-canary.1
- 2.9.1414 May 2026
Release notes
Open source →[!NOTE] This release contains important security fixes.
High:
Low:
- GHSA-hcf7-66rw-9f5r: Login callback CSRF/session fixation
- GHSA-3qcw-2rhx-2726: Unexpected local code execution during Yarn Berry detection
<!-- Release notes generated using configuration in .github/release.yml at v2.9.14 -->
What's Changed
Changelog
- release(turborepo): 2.9.12 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12774
- fix: Restore docs mobile menu by @anthonyshew in https://github.com/vercel/turborepo/pull/12782
- ci: Use
pull_requestfor PR title linting by @anthonyshew in https://github.com/vercel/turborepo/pull/12787 - ci: Scope GitHub Actions caches by branch by @anthonyshew in https://github.com/vercel/turborepo/pull/12788
- test: Validate lockfiles without dependency downloads by @anthonyshew in https://github.com/vercel/turborepo/pull/12789
- Removed unneeded import form hash creation script in docs by @dancrumb in https://github.com/vercel/turborepo/pull/12799
- fix: Validate auth callback state by @anthonyshew in https://github.com/vercel/turborepo/pull/12802
- fix: Harden VS Code extension command execution by @anthonyshew in https://github.com/vercel/turborepo/pull/12800
- fix: Avoid project-local Yarn during detection by @anthonyshew in https://github.com/vercel/turborepo/pull/12801
- chore: Release 2.9.13 by @anthonyshew in https://github.com/vercel/turborepo/pull/12803
New Contributors
- @dancrumb made their first contribution in https://github.com/vercel/turborepo/pull/12799
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.12...v2.9.14
- 2.9.13-canary.114 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.13-canary.1 -->
What's Changed
Changelog
- release(turborepo): 2.9.11-canary.7 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12768
- fix: Allow
$TURBO_EXTENDS$in LSP diagnostics by @anthonyshew in https://github.com/vercel/turborepo/pull/12770 - release(turborepo): 2.9.11 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12771
- fix: Allow transit nodes in LSP diagnostics by @anthonyshew in https://github.com/vercel/turborepo/pull/12773
- release(turborepo): 2.9.12 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12774
- fix: Restore docs mobile menu by @anthonyshew in https://github.com/vercel/turborepo/pull/12782
- ci: Use
pull_requestfor PR title linting by @anthonyshew in https://github.com/vercel/turborepo/pull/12787 - ci: Scope GitHub Actions caches by branch by @anthonyshew in https://github.com/vercel/turborepo/pull/12788
- test: Validate lockfiles without dependency downloads by @anthonyshew in https://github.com/vercel/turborepo/pull/12789
- Removed unneeded import form hash creation script in docs by @dancrumb in https://github.com/vercel/turborepo/pull/12799
- fix: Validate auth callback state by @anthonyshew in https://github.com/vercel/turborepo/pull/12802
- fix: Harden VS Code extension command execution by @anthonyshew in https://github.com/vercel/turborepo/pull/12800
- fix: Avoid project-local Yarn during detection by @anthonyshew in https://github.com/vercel/turborepo/pull/12801
New Contributors
- @dancrumb made their first contribution in https://github.com/vercel/turborepo/pull/12799
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.11-canary.7...v2.9.13-canary.1
- 2.9.129 May 2026
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.12 -->
What's Changed
Changelog
- release(turborepo): 2.9.11 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12771
- fix: Allow transit nodes in LSP diagnostics by @anthonyshew in https://github.com/vercel/turborepo/pull/12773
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.11...v2.9.12
- 2.9.118 May 2026
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.11 -->
What's Changed
Changelog
- release(turborepo): 2.9.10 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12745
- ci: Publish VS Code extension on release by @anthonyshew in https://github.com/vercel/turborepo/pull/12747
- fix: Start daemon for VSCode Extension from the extension itself by @anthonyshew in https://github.com/vercel/turborepo/pull/12749
- release(turborepo): 2.9.11-canary.1 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12748
- fix: Include file URIs in LSP lifecycle logs by @anthonyshew in https://github.com/vercel/turborepo/pull/12751
- fix: Handle JSON decoration visitor depth by @anthonyshew in https://github.com/vercel/turborepo/pull/12752
- fix: Resolve relative
turbo pathin VS Code extension by @anthonyshew in https://github.com/vercel/turborepo/pull/12753 - fix: Preserve Bun nested dependencies during prune by @anthonyshew in https://github.com/vercel/turborepo/pull/12754
- fix: Prefer installed Turbo for LSP by @anthonyshew in https://github.com/vercel/turborepo/pull/12755
- release(turborepo): 2.9.11-canary.2 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12750
- ci: Parallelize LSP release publishing by @anthonyshew in https://github.com/vercel/turborepo/pull/12758
- fix: Reduce VS Code extension startup popups by @anthonyshew in https://github.com/vercel/turborepo/pull/12759
- fix: Support
turbo.jsoncin VS Code extension by @anthonyshew in https://github.com/vercel/turborepo/pull/12760 - fix: Remove VS Code task key gradient by @anthonyshew in https://github.com/vercel/turborepo/pull/12761
- release(turborepo): 2.9.11-canary.3 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12756
- chore: Release v2.9.11-canary.4 by @anthonyshew in https://github.com/vercel/turborepo/pull/12762
- ci: Stop VS Code publish from blocking release PR by @anthonyshew in https://github.com/vercel/turborepo/pull/12763
- release(turborepo): 2.9.11-canary.5 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12764
- fix: Publish VS Code extension from release tag by @anthonyshew in https://github.com/vercel/turborepo/pull/12765
- fix: Support shimmed VS Code LSP probes by @anthonyshew in https://github.com/vercel/turborepo/pull/12767
- release(turborepo): 2.9.11-canary.6 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12766
- release(turborepo): 2.9.11-canary.7 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12768
- fix: Allow
$TURBO_EXTENDS$in LSP diagnostics by @anthonyshew in https://github.com/vercel/turborepo/pull/12770
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.10...v2.9.11
- 2.9.11-canary.78 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.11-canary.7 -->
What's Changed
Changelog
- fix: Support shimmed VS Code LSP probes by @anthonyshew in https://github.com/vercel/turborepo/pull/12767
- release(turborepo): 2.9.11-canary.6 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12766
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.11-canary.6...v2.9.11-canary.7
- 2.9.11-canary.68 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.11-canary.6 -->
What's Changed
Changelog
- release(turborepo): 2.9.11-canary.5 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12764
- fix: Publish VS Code extension from release tag by @anthonyshew in https://github.com/vercel/turborepo/pull/12765
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.11-canary.5...v2.9.11-canary.6
- 2.9.11-canary.58 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.11-canary.5 -->
What's Changed
Changelog
- ci: Parallelize LSP release publishing by @anthonyshew in https://github.com/vercel/turborepo/pull/12758
- fix: Reduce VS Code extension startup popups by @anthonyshew in https://github.com/vercel/turborepo/pull/12759
- fix: Support
turbo.jsoncin VS Code extension by @anthonyshew in https://github.com/vercel/turborepo/pull/12760 - fix: Remove VS Code task key gradient by @anthonyshew in https://github.com/vercel/turborepo/pull/12761
- release(turborepo): 2.9.11-canary.3 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12756
- chore: Release v2.9.11-canary.4 by @anthonyshew in https://github.com/vercel/turborepo/pull/12762
- ci: Stop VS Code publish from blocking release PR by @anthonyshew in https://github.com/vercel/turborepo/pull/12763
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.11-canary.3...v2.9.11-canary.5
- 2.9.11-canary.48 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.11-canary.4 -->
What's Changed
Changelog
- ci: Parallelize LSP release publishing by @anthonyshew in https://github.com/vercel/turborepo/pull/12758
- fix: Reduce VS Code extension startup popups by @anthonyshew in https://github.com/vercel/turborepo/pull/12759
- fix: Support
turbo.jsoncin VS Code extension by @anthonyshew in https://github.com/vercel/turborepo/pull/12760 - fix: Remove VS Code task key gradient by @anthonyshew in https://github.com/vercel/turborepo/pull/12761
- release(turborepo): 2.9.11-canary.3 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12756
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.11-canary.3...v2.9.11-canary.4
- 2.9.11-canary.38 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.11-canary.3 -->
What's Changed
Changelog
- fix: Include file URIs in LSP lifecycle logs by @anthonyshew in https://github.com/vercel/turborepo/pull/12751
- fix: Handle JSON decoration visitor depth by @anthonyshew in https://github.com/vercel/turborepo/pull/12752
- fix: Resolve relative
turbo pathin VS Code extension by @anthonyshew in https://github.com/vercel/turborepo/pull/12753 - fix: Preserve Bun nested dependencies during prune by @anthonyshew in https://github.com/vercel/turborepo/pull/12754
- fix: Prefer installed Turbo for LSP by @anthonyshew in https://github.com/vercel/turborepo/pull/12755
- release(turborepo): 2.9.11-canary.2 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12750
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.11-canary.2...v2.9.11-canary.3
- 2.9.11-canary.28 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.11-canary.2 -->
What's Changed
Changelog
- fix: Start daemon for VSCode Extension from the extension itself by @anthonyshew in https://github.com/vercel/turborepo/pull/12749
- release(turborepo): 2.9.11-canary.1 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12748
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.11-canary.1...v2.9.11-canary.2
- 2.9.11-canary.17 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.11-canary.1 -->
What's Changed
Changelog
- fix: Use random temp path for repo downloads by @anthonyshew in https://github.com/vercel/turborepo/pull/12736
- release(turborepo): 2.9.10-canary.1 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12734
- fix: Reject OTel endpoints with userinfo by @anthonyshew in https://github.com/vercel/turborepo/pull/12737
- fix: Authenticate local devtools WebSocket by @anthonyshew in https://github.com/vercel/turborepo/pull/12738
- fix: Handle clipboard exec errors by @anthonyshew in https://github.com/vercel/turborepo/pull/12739
- fix: Restrict Vercel token reuse to trusted API origins by @anthonyshew in https://github.com/vercel/turborepo/pull/12740
- fix: Keep workspace config discovery inside root by @anthonyshew in https://github.com/vercel/turborepo/pull/12741
- fix: Hardening for daemon IPC endpoints by @anthonyshew in https://github.com/vercel/turborepo/pull/12742
- fix: Enforce cache filesystem boundaries by @anthonyshew in https://github.com/vercel/turborepo/pull/12743
- release(turborepo): 2.9.10 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12745
- ci: Publish VS Code extension on release by @anthonyshew in https://github.com/vercel/turborepo/pull/12747
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.10-canary.1...v2.9.11-canary.1
- 2.9.107 May 2026
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.10 -->
What's Changed
Changelog
- release(turborepo): 2.9.9-canary.4 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12716
- release(turborepo): 2.9.9 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12719
- fix: Respect SCM env vars in
turbo query affectedby @anthonyshew in https://github.com/vercel/turborepo/pull/12722 - ci: Package VSCode extension in release workflow by @anthonyshew in https://github.com/vercel/turborepo/pull/12723
- fix: Avoid some raw
create-turboexample telemetry by @anthonyshew in https://github.com/vercel/turborepo/pull/12725 - fix: Escape graph HTML payloads by @anthonyshew in https://github.com/vercel/turborepo/pull/12726
- fix: Prevent OTEL token injection to spoofed origins by @anthonyshew in https://github.com/vercel/turborepo/pull/12727
- fix: Retry HTTP status failures by @anthonyshew in https://github.com/vercel/turborepo/pull/12728
- fix: Validate microfrontend proxy Host header by @anthonyshew in https://github.com/vercel/turborepo/pull/12730
- fix: Redact task hash env debug logs by @anthonyshew in https://github.com/vercel/turborepo/pull/12733
- fix: Filter microfrontend proxy environments by @anthonyshew in https://github.com/vercel/turborepo/pull/12732
- fix: Preserve FSEvents mount points for device-relative paths by @anthonyshew in https://github.com/vercel/turborepo/pull/12729
- fix: Validate proxy Host headers by @anthonyshew in https://github.com/vercel/turborepo/pull/12731
- fix: Resolve TypeScript
.jsextension imports to.tsfiles in boundaries by @maschwenk in https://github.com/vercel/turborepo/pull/12644 - fix: Use random temp path for repo downloads by @anthonyshew in https://github.com/vercel/turborepo/pull/12736
- release(turborepo): 2.9.10-canary.1 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12734
- fix: Reject OTel endpoints with userinfo by @anthonyshew in https://github.com/vercel/turborepo/pull/12737
- fix: Authenticate local devtools WebSocket by @anthonyshew in https://github.com/vercel/turborepo/pull/12738
- fix: Handle clipboard exec errors by @anthonyshew in https://github.com/vercel/turborepo/pull/12739
- fix: Restrict Vercel token reuse to trusted API origins by @anthonyshew in https://github.com/vercel/turborepo/pull/12740
- fix: Keep workspace config discovery inside root by @anthonyshew in https://github.com/vercel/turborepo/pull/12741
- fix: Hardening for daemon IPC endpoints by @anthonyshew in https://github.com/vercel/turborepo/pull/12742
- fix: Enforce cache filesystem boundaries by @anthonyshew in https://github.com/vercel/turborepo/pull/12743
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.9...v2.9.10
- 2.9.10-canary.16 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.10-canary.1 -->
What's Changed
Changelog
- fix: Preserve lockfiles during dry-run conversion by @anthonyshew in https://github.com/vercel/turborepo/pull/12717
- ci: Fix LSP workflow container matrix by @anthonyshew in https://github.com/vercel/turborepo/pull/12718
- release(turborepo): 2.9.9-canary.4 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12716
- release(turborepo): 2.9.9 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12719
- fix: Respect SCM env vars in
turbo query affectedby @anthonyshew in https://github.com/vercel/turborepo/pull/12722 - ci: Package VSCode extension in release workflow by @anthonyshew in https://github.com/vercel/turborepo/pull/12723
- fix: Avoid some raw
create-turboexample telemetry by @anthonyshew in https://github.com/vercel/turborepo/pull/12725 - fix: Escape graph HTML payloads by @anthonyshew in https://github.com/vercel/turborepo/pull/12726
- fix: Prevent OTEL token injection to spoofed origins by @anthonyshew in https://github.com/vercel/turborepo/pull/12727
- fix: Retry HTTP status failures by @anthonyshew in https://github.com/vercel/turborepo/pull/12728
- fix: Validate microfrontend proxy Host header by @anthonyshew in https://github.com/vercel/turborepo/pull/12730
- fix: Redact task hash env debug logs by @anthonyshew in https://github.com/vercel/turborepo/pull/12733
- fix: Filter microfrontend proxy environments by @anthonyshew in https://github.com/vercel/turborepo/pull/12732
- fix: Preserve FSEvents mount points for device-relative paths by @anthonyshew in https://github.com/vercel/turborepo/pull/12729
- fix: Validate proxy Host headers by @anthonyshew in https://github.com/vercel/turborepo/pull/12731
- fix: Resolve TypeScript
.jsextension imports to.tsfiles in boundaries by @maschwenk in https://github.com/vercel/turborepo/pull/12644
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.9-canary.4...v2.9.10-canary.1
- 2.9.94 May 2026
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.9 -->
What's Changed
Changelog
- release(turborepo): 2.9.8 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12700
- fix: Remove Unix parent death watchdogs by @anthonyshew in https://github.com/vercel/turborepo/pull/12699
- release(turborepo): 2.9.9-canary.1 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12705
- fix: Scope repo index prefixes to Git root by @anthonyshew in https://github.com/vercel/turborepo/pull/12706
- release(turborepo): 2.9.9-canary.2 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12708
- ci: Harden non-release GitHub Actions by @anthonyshew in https://github.com/vercel/turborepo/pull/12707
- docs: Add pnpm workspace flag (-w) to Oxc setup docs by @mattjoll in https://github.com/vercel/turborepo/pull/12655
- fix: Harden OG image signatures by @anthonyshew in https://github.com/vercel/turborepo/pull/12709
- fix: Scope release npm publishing credentials by @anthonyshew in https://github.com/vercel/turborepo/pull/12710
- ci: Harden release workflows by @anthonyshew in https://github.com/vercel/turborepo/pull/12711
- release(turborepo): 2.9.9-canary.3 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12712
- fix: Harden docs security endpoints by @anthonyshew in https://github.com/vercel/turborepo/pull/12713
- ci: Harden internal GitHub Actions by @anthonyshew in https://github.com/vercel/turborepo/pull/12714
- ci: Harden release workflow handling by @anthonyshew in https://github.com/vercel/turborepo/pull/12715
- fix: Preserve lockfiles during dry-run conversion by @anthonyshew in https://github.com/vercel/turborepo/pull/12717
- ci: Fix LSP workflow container matrix by @anthonyshew in https://github.com/vercel/turborepo/pull/12718
New Contributors
- @mattjoll made their first contribution in https://github.com/vercel/turborepo/pull/12655
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.8...v2.9.9
- 2.9.9-canary.44 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.9-canary.4 -->
What's Changed
Changelog
- release(turborepo): 2.9.9-canary.3 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12712
- fix: Harden docs security endpoints by @anthonyshew in https://github.com/vercel/turborepo/pull/12713
- ci: Harden internal GitHub Actions by @anthonyshew in https://github.com/vercel/turborepo/pull/12714
- ci: Harden release workflow handling by @anthonyshew in https://github.com/vercel/turborepo/pull/12715
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.9-canary.3...v2.9.9-canary.4
- 2.9.9-canary.34 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.9-canary.3 -->
What's Changed
Changelog
- release(turborepo): 2.9.9-canary.2 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12708
- ci: Harden non-release GitHub Actions by @anthonyshew in https://github.com/vercel/turborepo/pull/12707
- docs: Add pnpm workspace flag (-w) to Oxc setup docs by @mattjoll in https://github.com/vercel/turborepo/pull/12655
- fix: Harden OG image signatures by @anthonyshew in https://github.com/vercel/turborepo/pull/12709
- fix: Scope release npm publishing credentials by @anthonyshew in https://github.com/vercel/turborepo/pull/12710
- ci: Harden release workflows by @anthonyshew in https://github.com/vercel/turborepo/pull/12711
New Contributors
- @mattjoll made their first contribution in https://github.com/vercel/turborepo/pull/12655
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.9-canary.2...v2.9.9-canary.3
- 2.9.9-canary.24 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.9-canary.2 -->
What's Changed
Changelog
- release(turborepo): 2.9.9-canary.1 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12705
- fix: Scope repo index prefixes to Git root by @anthonyshew in https://github.com/vercel/turborepo/pull/12706
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.9-canary.1...v2.9.9-canary.2
- 2.9.9-canary.14 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.9-canary.1 -->
What's Changed
Changelog
- release(turborepo): 2.9.8-canary.6 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12698
- release(turborepo): 2.9.8 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12700
- fix: Remove Unix parent death watchdogs by @anthonyshew in https://github.com/vercel/turborepo/pull/12699
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.8-canary.6...v2.9.9-canary.1
- 2.9.83 May 2026
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.8 -->
What's Changed
@turbo/repository
- chore: Update to Rust 1.95.0 by @ognevny in https://github.com/vercel/turborepo/pull/12636
Changelog
- release(turborepo): 2.9.7 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12679
- test: Add regression for gitignored output restore by @anthonyshew in https://github.com/vercel/turborepo/pull/12681
- docs: Clarify root task guidance by @anthonyshew in https://github.com/vercel/turborepo/pull/12683
- fix: Preserve concrete dependency precedence by @anthonyshew in https://github.com/vercel/turborepo/pull/12682
- release(turborepo): 2.9.8-canary.1 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12685
- fix: Resolve Yarn catalog affected packages by @anthonyshew in https://github.com/vercel/turborepo/pull/12684
- release(turborepo): 2.9.8-canary.2 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12687
- fix: Preserve Bun prune lockfile validity by @anthonyshew in https://github.com/vercel/turborepo/pull/12686
- release(turborepo): 2.9.8-canary.3 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12689
- fix: Create prune docker bin stubs by @anthonyshew in https://github.com/vercel/turborepo/pull/12688
- release(turborepo): 2.9.8-canary.4 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12690
- fix: Keep tbx shell connections stable by @anthonyshew in https://github.com/vercel/turborepo/pull/12692
- perf: Reduce
turbo watchhash memory spikes by @anthonyshew in https://github.com/vercel/turborepo/pull/12695 - release(turborepo): 2.9.8-canary.5 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12696
- fix: Reduce parent-death watchdog CPU usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12697
- release(turborepo): 2.9.8-canary.6 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12698
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.7...v2.9.8
- 2.9.8-canary.62 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.8-canary.6 -->
What's Changed
Changelog
- release(turborepo): 2.9.8-canary.5 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12696
- fix: Reduce parent-death watchdog CPU usage by @anthonyshew in https://github.com/vercel/turborepo/pull/12697
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.8-canary.5...v2.9.8-canary.6
- 2.9.8-canary.51 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.8-canary.5 -->
What's Changed
@turbo/repository
- chore: Update to Rust 1.95.0 by @ognevny in https://github.com/vercel/turborepo/pull/12636
Changelog
- release(turborepo): 2.9.8-canary.4 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12690
- fix: Keep tbx shell connections stable by @anthonyshew in https://github.com/vercel/turborepo/pull/12692
- perf: Reduce
turbo watchhash memory spikes by @anthonyshew in https://github.com/vercel/turborepo/pull/12695
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.8-canary.4...v2.9.8-canary.5
- 2.9.8-canary.41 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.8-canary.4 -->
What's Changed
Changelog
- release(turborepo): 2.9.8-canary.3 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12689
- fix: Create prune docker bin stubs by @anthonyshew in https://github.com/vercel/turborepo/pull/12688
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.8-canary.3...v2.9.8-canary.4
- 2.9.8-canary.31 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.8-canary.3 -->
What's Changed
Changelog
- release(turborepo): 2.9.8-canary.2 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12687
- fix: Preserve Bun prune lockfile validity by @anthonyshew in https://github.com/vercel/turborepo/pull/12686
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.8-canary.2...v2.9.8-canary.3
- 2.9.8-canary.21 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.8-canary.2 -->
What's Changed
Changelog
- release(turborepo): 2.9.8-canary.1 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12685
- fix: Resolve Yarn catalog affected packages by @anthonyshew in https://github.com/vercel/turborepo/pull/12684
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.8-canary.1...v2.9.8-canary.2
- 2.9.8-canary.11 May 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.8-canary.1 -->
What's Changed
Changelog
- docs: Fix link to passthrough variables source code by @Wartijn in https://github.com/vercel/turborepo/pull/12643
- release(turborepo): 2.9.7-canary.15 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12677
- fix: Avoid rerunning non-cacheable watch dependencies by @anthonyshew in https://github.com/vercel/turborepo/pull/12678
- release(turborepo): 2.9.7 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12679
- test: Add regression for gitignored output restore by @anthonyshew in https://github.com/vercel/turborepo/pull/12681
- docs: Clarify root task guidance by @anthonyshew in https://github.com/vercel/turborepo/pull/12683
- fix: Preserve concrete dependency precedence by @anthonyshew in https://github.com/vercel/turborepo/pull/12682
New Contributors
- @Wartijn made their first contribution in https://github.com/vercel/turborepo/pull/12643
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.7-canary.15...v2.9.8-canary.1
- 2.9.71 May 2026
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.7 -->
What's Changed
eslint
- chore: Upgrade dependencies to resolve their known vulnerabilities by @anthonyshew in https://github.com/vercel/turborepo/pull/12604
Examples
- feat(sandbox): Bump @vercel/sandbox from v1 to beta by @marc-vercel in https://github.com/vercel/turborepo/pull/12595
- chore: Update examples to Turbo 2.9.6 by @cursor[bot] in https://github.com/vercel/turborepo/pull/12600
- examples: Add Ultracite example by @haydenbleasel in https://github.com/vercel/turborepo/pull/12615
Changelog
- fix: Align Markdown docs routing with docs/md endpoints by @molebox in https://github.com/vercel/turborepo/pull/12596
- fix: Support two-dot git ranges in filter selectors by @anthonyshew in https://github.com/vercel/turborepo/pull/12599
- feat: Graceful shutdown by @anthonyshew in https://github.com/vercel/turborepo/pull/12607
- test: Add stdin EOF startup regression coverage by @anthonyshew in https://github.com/vercel/turborepo/pull/12609
- fix: Ignore
SIGINTin shim after spawning localturboby @anthonyshew in https://github.com/vercel/turborepo/pull/12612 - fix: Support pnpm v11 multi-document lockfiles by @anthonyshew in https://github.com/vercel/turborepo/pull/12616
- fix: Preserve graceful shutdown exit code by @anthonyshew in https://github.com/vercel/turborepo/pull/12620
- fix: Keep Node wrapper alive during graceful shutdown by @anthonyshew in https://github.com/vercel/turborepo/pull/12622
- fix: Preserve PTY graceful shutdown semantics by @anthonyshew in https://github.com/vercel/turborepo/pull/12624
- feat: Move Vercel auth to standard OAuth/device flows by @markandrus in https://github.com/vercel/turborepo/pull/12526
- fix: Preserve legacy Vercel auth compatibility by @anthonyshew in https://github.com/vercel/turborepo/pull/12629
- fix: Recover Vercel auth tokens across login flows by @anthonyshew in https://github.com/vercel/turborepo/pull/12631
- docs: Fix TURBO_PLATFORM_ENV_DISABLED value in docs (true, not false) by @sleitor in https://github.com/vercel/turborepo/pull/12633
- chore: Update flags SDK by @AndyBitz in https://github.com/vercel/turborepo/pull/12646
- ci: Disable AWS-backed sccache by @anthonyshew in https://github.com/vercel/turborepo/pull/12663
- fix: Prevent prune from overmatching gitignore entries by @anthonyshew in https://github.com/vercel/turborepo/pull/12662
- ci: Harden release API commits by @anthonyshew in https://github.com/vercel/turborepo/pull/12664
- ci: Fix release API commit paths by @anthonyshew in https://github.com/vercel/turborepo/pull/12665
- release(turborepo): 2.9.7-canary.14 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12666
- chore: Add
tbxsandbox helper by @anthonyshew in https://github.com/vercel/turborepo/pull/12668 - fix: Allow npm registry in tbx sandboxes by @anthonyshew in https://github.com/vercel/turborepo/pull/12669
- fix: Install turbo globally in tbx base by @anthonyshew in https://github.com/vercel/turborepo/pull/12670
- docs: Clarify package hash file inputs by @anthonyshew in https://github.com/vercel/turborepo/pull/12671
- fix: Allow tbx sandboxes to use stale bases by @anthonyshew in https://github.com/vercel/turborepo/pull/12672
- fix: Install dotfiles during
tbx base refreshby @anthonyshew in https://github.com/vercel/turborepo/pull/12673 - fix: Improve tbx sandbox startup by @anthonyshew in https://github.com/vercel/turborepo/pull/12674
- fix: Improve tbx sandbox startup defaults by @anthonyshew in https://github.com/vercel/turborepo/pull/12675
- fix: Support pnpm 11 flat patch lockfiles by @anthonyshew in https://github.com/vercel/turborepo/pull/12676
- docs: Fix link to passthrough variables source code by @Wartijn in https://github.com/vercel/turborepo/pull/12643
- release(turborepo): 2.9.7-canary.15 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12677
- fix: Avoid rerunning non-cacheable watch dependencies by @anthonyshew in https://github.com/vercel/turborepo/pull/12678
New Contributors
- @marc-vercel made their first contribution in https://github.com/vercel/turborepo/pull/12595
- @cursor[bot] made their first contribution in https://github.com/vercel/turborepo/pull/12600
- @markandrus made their first contribution in https://github.com/vercel/turborepo/pull/12526
- @AndyBitz made their first contribution in https://github.com/vercel/turborepo/pull/12646
- @Wartijn made their first contribution in https://github.com/vercel/turborepo/pull/12643
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.6...v2.9.7
- 2.9.7-canary.1530 Apr 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.7-canary.15 -->
What's Changed
Changelog
- release(turborepo): 2.9.7-canary.14 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12666
- chore: Add
tbxsandbox helper by @anthonyshew in https://github.com/vercel/turborepo/pull/12668 - fix: Allow npm registry in tbx sandboxes by @anthonyshew in https://github.com/vercel/turborepo/pull/12669
- fix: Install turbo globally in tbx base by @anthonyshew in https://github.com/vercel/turborepo/pull/12670
- docs: Clarify package hash file inputs by @anthonyshew in https://github.com/vercel/turborepo/pull/12671
- fix: Allow tbx sandboxes to use stale bases by @anthonyshew in https://github.com/vercel/turborepo/pull/12672
- fix: Install dotfiles during
tbx base refreshby @anthonyshew in https://github.com/vercel/turborepo/pull/12673 - fix: Improve tbx sandbox startup by @anthonyshew in https://github.com/vercel/turborepo/pull/12674
- fix: Improve tbx sandbox startup defaults by @anthonyshew in https://github.com/vercel/turborepo/pull/12675
- fix: Support pnpm 11 flat patch lockfiles by @anthonyshew in https://github.com/vercel/turborepo/pull/12676
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.7-canary.14...v2.9.7-canary.15
- 2.9.7-canary.1430 Apr 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.7-canary.14 -->
What's Changed
Changelog
- docs: Fix TURBO_PLATFORM_ENV_DISABLED value in docs (true, not false) by @sleitor in https://github.com/vercel/turborepo/pull/12633
- chore: Update flags SDK by @AndyBitz in https://github.com/vercel/turborepo/pull/12646
- ci: Disable AWS-backed sccache by @anthonyshew in https://github.com/vercel/turborepo/pull/12663
- fix: Prevent prune from overmatching gitignore entries by @anthonyshew in https://github.com/vercel/turborepo/pull/12662
- ci: Harden release API commits by @anthonyshew in https://github.com/vercel/turborepo/pull/12664
- ci: Fix release API commit paths by @anthonyshew in https://github.com/vercel/turborepo/pull/12665
New Contributors
- @AndyBitz made their first contribution in https://github.com/vercel/turborepo/pull/12646
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.7-canary.13...v2.9.7-canary.14
- 2.9.7-canary.1316 Apr 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.7-canary.13 -->
What's Changed
Changelog
- fix: Recover Vercel auth tokens across login flows by @anthonyshew in https://github.com/vercel/turborepo/pull/12631
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.7-canary.12...v2.9.7-canary.13
- 2.9.7-canary.1216 Apr 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.7-canary.12 -->
What's Changed
Examples
- examples: Add Ultracite example by @haydenbleasel in https://github.com/vercel/turborepo/pull/12615
Changelog
- fix: Preserve legacy Vercel auth compatibility by @anthonyshew in https://github.com/vercel/turborepo/pull/12629
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.7-canary.11...v2.9.7-canary.12
- 2.9.7-canary.1115 Apr 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.7-canary.11 -->
What's Changed
Changelog
- feat: Move Vercel auth to standard OAuth/device flows by @markandrus in https://github.com/vercel/turborepo/pull/12526
New Contributors
- @markandrus made their first contribution in https://github.com/vercel/turborepo/pull/12526
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.7-canary.10...v2.9.7-canary.11
- 2.9.7-canary.1015 Apr 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.7-canary.10 -->
What's Changed
Changelog
- fix: Preserve PTY graceful shutdown semantics by @anthonyshew in https://github.com/vercel/turborepo/pull/12624
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.7-canary.9...v2.9.7-canary.10
- 2.9.7-canary.915 Apr 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.7-canary.9 -->
What's Changed
Changelog
- fix: Keep Node wrapper alive during graceful shutdown by @anthonyshew in https://github.com/vercel/turborepo/pull/12622
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.7-canary.8...v2.9.7-canary.9
- 2.9.7-canary.815 Apr 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.7-canary.8 -->
What's Changed
Changelog
- fix: Preserve graceful shutdown exit code by @anthonyshew in https://github.com/vercel/turborepo/pull/12620
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.7-canary.7...v2.9.7-canary.8
- 2.9.7-canary.714 Apr 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.7-canary.7 -->
What's Changed
Changelog
- fix: Support pnpm v11 multi-document lockfiles by @anthonyshew in https://github.com/vercel/turborepo/pull/12616
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.7-canary.6...v2.9.7-canary.7
- 2.9.7-canary.613 Apr 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.7-canary.6 -->
What's Changed
Changelog
- fix: Ignore
SIGINTin shim after spawning localturboby @anthonyshew in https://github.com/vercel/turborepo/pull/12612
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.7-canary.5...v2.9.7-canary.6
- fix: Ignore
- 2.9.7-canary.513 Apr 2026pre-release
Release notes
Open source →<!-- Release notes generated using configuration in .github/release.yml at v2.9.7-canary.5 -->
What's Changed
Changelog
- test: Add stdin EOF startup regression coverage by @anthonyshew in https://github.com/vercel/turborepo/pull/12609
Full Changelog: https://github.com/vercel/turborepo/compare/v2.9.7-canary.4...v2.9.7-canary.5