v2.9.17

feder-cr/AIHawkv2.9.17Jun 9, 2026by github-actions[bot]

AI Summary

Turborepo v2.9.17 introduces performance and stability improvements such as JIT task input hashing and PTY stdin handling for persistent tasks. The release also includes authentication HTTP timeouts and significant refactoring of engine builder and CLI modules.

Key Highlights

  • Add JIT task input hashing
  • Add Rsbuild examples
  • Fix: Keep non-PTY stdin alive for persistent tasks
  • Fix: Add auth HTTP timeouts
  • Refactor: Split engine builder modules

New Features

  • Add JIT task input hashing
  • Add Rsbuild examples

Full Release Notes

<!-- 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