v2.11.9

vercel/turborepov2.11.9Oct 16, 2026by github-actions[bot]

Upgrading?

AI Summary

This release focuses on significant performance improvements for lockfile handling, caching, and graph construction. It significantly expands the Managed Tools ecosystem, improving offline setup, cross-platform tool activation (Go, Rust, Python, Bun, Yarn, pnpm), and introduces a new `turbo exec` command. It also includes several breaking changes related to shell hook installation and setup lifecycle scripts.

Key Highlights

  • Expanded Managed Tools ecosystem with offline setup and artifact caching capabilities.
  • New `turbo exec` command for executing commands within the managed environment.
  • Enhanced shell hook support for Fish and PowerShell.
  • Significant performance optimizations in lockfile parsing, cache compression, and graph construction.
  • Improved cross-platform tool provisioning and activation for Windows.

Breaking Changes

  • Stop installing the Unix shell hook automatically
  • Remove setup lifecycle script controls
  • Route setup's Git queries through an injectable boundary

New Features

  • New turbo exec command to run commands with managed environment
  • Improved shell hook support for Fish and PowerShell
  • Enhanced offline setup and artifact caching for managed tools
  • Better cross-platform support for Go, Rust, Python, Bun, pnpm, and Yarn provisioning
  • Managed tool activation and readiness checks

Full Release Notes

<!-- Release notes generated using configuration in .github/release.yml at v2.11.9 -->

## What's Changed
### Changelog
* chore: Release Turborepo 2.11.8 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/14789
* perf: Prefetch Cargo metadata during lazy graph construction by @anthonyshew in https://github.com/vercel/turborepo/pull/14497
* perf: Compute Berry lockfile closures once across workspaces by @anthonyshew in https://github.com/vercel/turborepo/pull/14499
* perf: Check cache hit outputs in place instead of on the blocking pool by @anthonyshew in https://github.com/vercel/turborepo/pull/14524
* perf: Speed up Berry lockfile loading by @anthonyshew in https://github.com/vercel/turborepo/pull/14500
* perf: Parse bun.lock without building a JSON syntax tree by @anthonyshew in https://github.com/vercel/turborepo/pull/14502
* perf: Skip the dry run cache batch window when there is no remote cache by @anthonyshew in https://github.com/vercel/turborepo/pull/14505
* perf: Emit lockfile closures pre-sorted and cheapen closure interning by @anthonyshew in https://github.com/vercel/turborepo/pull/14525
* perf: Reuse configuration derived from turbo.json between the shim and the CLI by @anthonyshew in https://github.com/vercel/turborepo/pull/14521
* feat: Report locked tools-only setup plans by @anthonyshew in https://github.com/vercel/turborepo/pull/14483
* perf: Compute Bun lockfile closures once across workspaces by @anthonyshew in https://github.com/vercel/turborepo/pull/14501
* perf: Reuse open parent directories when restoring cache archives by @anthonyshew in https://github.com/vercel/turborepo/pull/14506
* perf: Skip dropping the run right before turbo run exits by @anthonyshew in https://github.com/vercel/turborepo/pull/14507
* perf: Match literal input exclusions without compiling globs by @anthonyshew in https://github.com/vercel/turborepo/pull/14510
* perf: Copy pruned package files in parallel by @anthonyshew in https://github.com/vercel/turborepo/pull/14512
* feat: Report proposed first-lock and refresh setup plans by @anthonyshew in https://github.com/vercel/turborepo/pull/14571
* perf: Compress large cache archives with multithreaded zstd by @anthonyshew in https://github.com/vercel/turborepo/pull/14698
* perf: Read tracked file stats from directory listings on Windows by @anthonyshew in https://github.com/vercel/turborepo/pull/14633
* perf: Diff changed lockfile resolutions with a merge instead of ordered sets by @anthonyshew in https://github.com/vercel/turborepo/pull/14630
* perf: Write dry run text output through one buffered stdout handle by @anthonyshew in https://github.com/vercel/turborepo/pull/14625
* perf: Parse pnpm-workspace.yaml once per command by @anthonyshew in https://github.com/vercel/turborepo/pull/14620
* perf: Write each file trace error to stderr in a single call by @anthonyshew in https://github.com/vercel/turborepo/pull/14618
* perf: Reuse glob validation results when re-validating turbo.json in the language server by @anthonyshew in https://github.com/vercel/turborepo/pull/14615
* perf: Keep git subprocesses off the critical path of dry runs by @anthonyshew in https://github.com/vercel/turborepo/pull/14610
* perf: Classify watch file changes when they arrive instead of on a 100ms poll by @anthonyshew in https://github.com/vercel/turborepo/pull/14600
* perf: Buffer TUI raw-output spool writes by @anthonyshew in https://github.com/vercel/turborepo/pull/14597
* perf: Add the turbo query version key without re-parsing the response by @anthonyshew in https://github.com/vercel/turborepo/pull/14592
* perf: Replay cached task logs in whole-line chunks by @anthonyshew in https://github.com/vercel/turborepo/pull/14590
* perf: Write each boundaries diagnostic to stderr in a single call by @anthonyshew in https://github.com/vercel/turborepo/pull/14587
* perf: Walk leading-globstar input trees in parallel without wax by @anthonyshew in https://github.com/vercel/turborepo/pull/14511
* perf: Reuse open parent directories when writing cache archives by @anthonyshew in https://github.com/vercel/turborepo/pull/14513
* perf: Index Bun lockfile subgraph lookups instead of rescanning all packages by @anthonyshew in https://github.com/vercel/turborepo/pull/14514
* perf: Render the pruned lockfile while package files are copied by @anthonyshew in https://github.com/vercel/turborepo/pull/14515
* feat: Resolve exact native npm lock cohorts by @anthonyshew in https://github.com/vercel/turborepo/pull/14484
* perf: Batch prefixed task output into one write per chunk by @anthonyshew in https://github.com/vercel/turborepo/pull/14588
* perf: Share one allocation per external package identity by @anthonyshew in https://github.com/vercel/turborepo/pull/14528
* perf: Remove quadratic package-name scan from microfrontends discovery by @anthonyshew in https://github.com/vercel/turborepo/pull/14527
* perf: Render file trace errors on several threads by @anthonyshew in https://github.com/vercel/turborepo/pull/14623
* perf: Check boundaries packages in parallel again by @anthonyshew in https://github.com/vercel/turborepo/pull/14598
* perf: Read PTY child output in 8 KiB chunks by @anthonyshew in https://github.com/vercel/turborepo/pull/14594
* perf: Load each package's tsconfig once when checking boundaries by @anthonyshew in https://github.com/vercel/turborepo/pull/14589
* perf: Skip the file watcher round trip when checking outputs for new task hashes by @anthonyshew in https://github.com/vercel/turborepo/pull/14626
* perf: Refresh only memory stats in `turbo info` by @anthonyshew in https://github.com/vercel/turborepo/pull/14593
* perf: Walk and record prune copy plans in parallel by @anthonyshew in https://github.com/vercel/turborepo/pull/14522
* feat: Reconcile sealed clone-local setup selections by @anthonyshew in https://github.com/vercel/turborepo/pull/14485
* test: Add macOS ACL safety prerequisite for setup state by @anthonyshew in https://github.com/vercel/turborepo/pull/14493
* fix: Accept Homebrew's bundled npm prefix in setup source preflight by @anthonyshew in https://github.com/vercel/turborepo/pull/14566
* feat: Report ignored version manager declarations during setup by @anthonyshew in https://github.com/vercel/turborepo/pull/14531
* feat: Provision clone-local setup without lock writes by @anthonyshew in https://github.com/vercel/turborepo/pull/14486
* feat: Integrate native npm provisioning into setup by @anthonyshew in https://github.com/vercel/turborepo/pull/14491
* test: Check pruned setup outputs through the real CLI by @anthonyshew in https://github.com/vercel/turborepo/pull/14529
* feat: Parse Go toolchain declarations for setup by @anthonyshew in https://github.com/vercel/turborepo/pull/14530
* feat: Parse root uv version requests for setup by @anthonyshew in https://github.com/vercel/turborepo/pull/14533
* test: Prove Unix process parity for native and npm-wrapped turbo run by @anthonyshew in https://github.com/vercel/turborepo/pull/14539
* feat: Add root-only `turbo setup` policy to turbo.json by @anthonyshew in https://github.com/vercel/turborepo/pull/14541
* test: Interrupt Unix turbo setup through both entrypoints by @anthonyshew in https://github.com/vercel/turborepo/pull/14542
* feat: Bootstrap a verified repository-scoped rustup by @anthonyshew in https://github.com/vercel/turborepo/pull/14543
* feat: Follow approved release CDN redirects in verified downloads by @anthonyshew in https://github.com/vercel/turborepo/pull/14557
* test: Prove native Windows process parity for standalone and npm-wrapped turbo run by @anthonyshew in https://github.com/vercel/turborepo/pull/14565
* fix: Explain missing Git and non-repository setup roots by @anthonyshew in https://github.com/vercel/turborepo/pull/14567
* fix: Keep non-UTF-8 arguments from crashing the turbo shim by @anthonyshew in https://github.com/vercel/turborepo/pull/14570
* feat: Install managed tool generations on native Windows by @anthonyshew in https://github.com/vercel/turborepo/pull/14582
* feat: Add the shell hook by default from the POSIX installer by @anthonyshew in https://github.com/vercel/turborepo/pull/14608
* feat: Accept Corepack SHA-224 package manager pins by @anthonyshew in https://github.com/vercel/turborepo/pull/14640
* fix: Accept official Bun ZIP metadata in verified archives by @anthonyshew in https://github.com/vercel/turborepo/pull/14657
* fix: Write turbo.lock as indented JSON by @anthonyshew in https://github.com/vercel/turborepo/pull/14738
* fix: Accept project .npmrc files with only install-layout settings by @anthonyshew in https://github.com/vercel/turborepo/pull/14740
* feat: Define native lifecycle-script policy for dependency setup by @anthonyshew in https://github.com/vercel/turborepo/pull/14661
* feat: Resolve uv requests to official locked releases by @anthonyshew in https://github.com/vercel/turborepo/pull/14537
* feat: Install locked uv with repo-scoped launchers by @anthonyshew in https://github.com/vercel/turborepo/pull/14538
* feat: Record official Go release artifacts in turbo.lock by @anthonyshew in https://github.com/vercel/turborepo/pull/14532
* feat: Create, refresh, and freeze uv selections in turbo setup by @anthonyshew in https://github.com/vercel/turborepo/pull/14547
* feat: Resolve root Python requests through managed uv by @anthonyshew in https://github.com/vercel/turborepo/pull/14552
* fix: Lock managed Python for every supported architecture by @anthonyshew in https://github.com/vercel/turborepo/pull/14691
* feat: Select Linux setup artifacts by detecting the host libc at runtime by @anthonyshew in https://github.com/vercel/turborepo/pull/14637
* feat: Provision verified Go toolchain archives by @anthonyshew in https://github.com/vercel/turborepo/pull/14544
* feat: Provision locked rustup from turbo setup by @anthonyshew in https://github.com/vercel/turborepo/pull/14548
* fix: Keep managed setup working under Ubuntu's default 0002 umask by @anthonyshew in https://github.com/vercel/turborepo/pull/14666
* feat: Provision pnpm 11 releases with their module entry points by @anthonyshew in https://github.com/vercel/turborepo/pull/14742
* fix: Accept npm and pnpm wrapper environments in setup source policy by @anthonyshew in https://github.com/vercel/turborepo/pull/14643
* feat: Extract official python-build-standalone archives by @anthonyshew in https://github.com/vercel/turborepo/pull/14669
* feat: Declare additional repository tools in root setup policy by @anthonyshew in https://github.com/vercel/turborepo/pull/14574
* fix: Parse JSX in JavaScript files by @sahyl in https://github.com/vercel/turborepo/pull/14794
* fix: Complete CI frozen setup behavior by @anthonyshew in https://github.com/vercel/turborepo/pull/14492
* feat: Provision tools with plain turbo setup and report skipped dependencies by @anthonyshew in https://github.com/vercel/turborepo/pull/14650
* feat: Record trusted setup installations outside the repository by @anthonyshew in https://github.com/vercel/turborepo/pull/14494
* feat: Provision pnpm 12 native binaries from verified platform packages by @anthonyshew in https://github.com/vercel/turborepo/pull/14743
* feat: Parse root rust-toolchain files into portable requests by @anthonyshew in https://github.com/vercel/turborepo/pull/14550
* feat: Provision locked Python interpreters through managed uv by @anthonyshew in https://github.com/vercel/turborepo/pull/14559
* feat: Sync uv workspaces from the committed uv.lock by @anthonyshew in https://github.com/vercel/turborepo/pull/14561
* feat: Resolve Rust toolchain requests to exact locked channels by @anthonyshew in https://github.com/vercel/turborepo/pull/14551
* feat: Authorize prepared tools from private setup evidence by @anthonyshew in https://github.com/vercel/turborepo/pull/14495
* feat: Install locked Rust toolchains through private rustup by @anthonyshew in https://github.com/vercel/turborepo/pull/14562
* feat: Create and update Rust selections in turbo.lock by @anthonyshew in https://github.com/vercel/turborepo/pull/14563
* feat: Prefetch locked Cargo dependencies with managed cargo by @anthonyshew in https://github.com/vercel/turborepo/pull/14564
* feat: Activate trusted Node and pnpm for task execution by @anthonyshew in https://github.com/vercel/turborepo/pull/14508
* feat: Enforce managed run compatibility before CLI handoff by @anthonyshew in https://github.com/vercel/turborepo/pull/14509
* fix: Close managed execution authorization gaps by @anthonyshew in https://github.com/vercel/turborepo/pull/14516
* fix: Preserve informational exits in managed repositories by @anthonyshew in https://github.com/vercel/turborepo/pull/14519
* feat: Reuse trusted installations for offline setup by @anthonyshew in https://github.com/vercel/turborepo/pull/14518
* feat: Add experimental managed Node and pnpm peer capabilities by @anthonyshew in https://github.com/vercel/turborepo/pull/14517
* feat: Lock additional tool artifacts and detect declaration drift by @anthonyshew in https://github.com/vercel/turborepo/pull/14575
* feat: Install additional tools through a generic verified artifact backend by @anthonyshew in https://github.com/vercel/turborepo/pull/14577
* feat: Activate locked uv and Python and check their readiness by @anthonyshew in https://github.com/vercel/turborepo/pull/14649
* fix: Precompile managed Python bytecode while staging by @anthonyshew in https://github.com/vercel/turborepo/pull/14670
* feat: Prune setup records for deleted, moved, or re-cloned roots by @anthonyshew in https://github.com/vercel/turborepo/pull/14655
* feat: Activate locked Rust toolchains and check their readiness by @anthonyshew in https://github.com/vercel/turborepo/pull/14651
* feat: Provision locked additional tools from turbo setup by @anthonyshew in https://github.com/vercel/turborepo/pull/14581
* feat: Create and refresh Go entries in turbo.lock during local setup by @anthonyshew in https://github.com/vercel/turborepo/pull/14553
* feat: Prefetch Go modules without changing go.mod or go.sum by @anthonyshew in https://github.com/vercel/turborepo/pull/14554
* feat: Advertise the managed Node/pnpm peer contract on GNU Linux x64 by @anthonyshew in https://github.com/vercel/turborepo/pull/14641
* feat: Provision locked Yarn classic binaries by @anthonyshew in https://github.com/vercel/turborepo/pull/14555
* feat: Add repository and CLI controls for skipping lifecycle scripts by @anthonyshew in https://github.com/vercel/turborepo/pull/14662
* feat: Explain whether turbo setup repairs tools or updates the lock by @anthonyshew in https://github.com/vercel/turborepo/pull/14654
* feat: Reuse verified tool downloads across repositories by @anthonyshew in https://github.com/vercel/turborepo/pull/14535
* perf: Cache installed tool tree hashes per generation by @anthonyshew in https://github.com/vercel/turborepo/pull/14653
* test: Exercise global setup then plain turbo run end to end by @anthonyshew in https://github.com/vercel/turborepo/pull/14642
* feat: Apply root setup policy and CLI overrides in turbo setup by @anthonyshew in https://github.com/vercel/turborepo/pull/14663
* feat: Pin and verify the xz Rust tarballs rustup downloads by @anthonyshew in https://github.com/vercel/turborepo/pull/14771
* feat: Hash locked additional-tool artifact identity portably by @anthonyshew in https://github.com/vercel/turborepo/pull/14583
* feat: Provision locked modern Yarn bundles by @anthonyshew in https://github.com/vercel/turborepo/pull/14556
* feat: Provision locked Bun binaries without global Bun by @anthonyshew in https://github.com/vercel/turborepo/pull/14558
* feat: Provision offline setup from verified cached artifacts by @anthonyshew in https://github.com/vercel/turborepo/pull/14540
* feat: Measure and remove inactive managed tool storage by @anthonyshew in https://github.com/vercel/turborepo/pull/14549
* feat: Create and update turbo.lock for Yarn and Bun during local setup by @anthonyshew in https://github.com/vercel/turborepo/pull/14560
* feat: Validate installed Yarn and Bun activation plans and checks by @anthonyshew in https://github.com/vercel/turborepo/pull/14648
* feat: Set up Bun-only repositories without a Node declaration by @anthonyshew in https://github.com/vercel/turborepo/pull/14658
* feat: Add a shell hook that activates managed tools in bash and zsh by @anthonyshew in https://github.com/vercel/turborepo/pull/14603
* feat: Add an uninstall mode to the POSIX installer by @anthonyshew in https://github.com/vercel/turborepo/pull/14636
* test: Recover setup killed mid-download and mid-unpack by @anthonyshew in https://github.com/vercel/turborepo/pull/14569
* feat: Route setup downloads through credential-free mirror overrides by @anthonyshew in https://github.com/vercel/turborepo/pull/14545
* test: Race concurrent setup writers over one shared cache by @anthonyshew in https://github.com/vercel/turborepo/pull/14573
* feat: Clean up replaced managed tools automatically during setup by @anthonyshew in https://github.com/vercel/turborepo/pull/14652
* feat: Add the `turbo exec` command surface by @anthonyshew in https://github.com/vercel/turborepo/pull/14536
* feat: Run `turbo exec` commands with the managed environment by @anthonyshew in https://github.com/vercel/turborepo/pull/14568
* feat: Activate locked Go and check its readiness in turbo setup --check by @anthonyshew in https://github.com/vercel/turborepo/pull/14644
* feat: Name the missing Node declaration when --no-lock setup cannot start by @anthonyshew in https://github.com/vercel/turborepo/pull/14701
* feat: Add shell hook support for fish and PowerShell by @anthonyshew in https://github.com/vercel/turborepo/pull/14606
* fix: Run turbo setup in pruned output without a Git repository by @anthonyshew in https://github.com/vercel/turborepo/pull/14639
* fix: Accept umask 0002 ancestors of trusted setup records by @anthonyshew in https://github.com/vercel/turborepo/pull/14702
* fix: Guard managed `turbo exec` local CLI handoff by @anthonyshew in https://github.com/vercel/turborepo/pull/14572
* feat: Lock and verify system Node.js and pnpm under verify-system policy by @anthonyshew in https://github.com/vercel/turborepo/pull/14664
* feat: Record and authorize trusted setup roots on native Windows by @anthonyshew in https://github.com/vercel/turborepo/pull/14659
* test: Verify `turbo exec` end to end from nested paths by @anthonyshew in https://github.com/vercel/turborepo/pull/14578
* test: Prove Unix `turbo exec` parity for standalone and npm wrapper by @anthonyshew in https://github.com/vercel/turborepo/pull/14580
* feat: Provision managed Node and pnpm on native Windows by @anthonyshew in https://github.com/vercel/turborepo/pull/14584
* fix: Preserve `turbo exec` behavior for Windows `.cmd` launchers and Ctrl+C by @anthonyshew in https://github.com/vercel/turborepo/pull/14646
* test: Prove native Windows `turbo exec` entrypoint parity without managed tools by @anthonyshew in https://github.com/vercel/turborepo/pull/14660
* fix: Stop native Windows turbo setup on Ctrl+C from either entrypoint by @anthonyshew in https://github.com/vercel/turborepo/pull/14591
* fix: Refuse managed setup on Windows arm64 hosts, including x64 turbo under emulation by @anthonyshew in https://github.com/vercel/turborepo/pull/14672
* fix: Propose setup plans with every ecosystem's lock resolver by @anthonyshew in https://github.com/vercel/turborepo/pull/14744
* fix: Detect the host libc for managed turbo run by @anthonyshew in https://github.com/vercel/turborepo/pull/14710
* feat: Add a frozen npm install adapter for setup dependencies by @anthonyshew in https://github.com/vercel/turborepo/pull/14718
* feat: Activate additional tool binaries in managed run and exec by @anthonyshew in https://github.com/vercel/turborepo/pull/14706
* feat: Install locked npm dependencies during turbo setup by @anthonyshew in https://github.com/vercel/turborepo/pull/14721
* feat: Follow HTTPS redirects for additional-tool artifacts by @anthonyshew in https://github.com/vercel/turborepo/pull/14707
* feat: Configure setup mirrors in the root setup policy by @anthonyshew in https://github.com/vercel/turborepo/pull/14700
* feat: Record trusted setup roots for --no-lock installs by @anthonyshew in https://github.com/vercel/turborepo/pull/14727
* feat: Activate and hash --no-lock selections in plain turbo run by @anthonyshew in https://github.com/vercel/turborepo/pull/14729
* feat: Install additional-tool archives without a top-level folder by @anthonyshew in https://github.com/vercel/turborepo/pull/14708
* feat: Mirror Bun, uv, and Python release downloads by @anthonyshew in https://github.com/vercel/turborepo/pull/14714
* feat: Mirror Go and Rust release downloads by @anthonyshew in https://github.com/vercel/turborepo/pull/14739
* feat: Provision declared npm without lock writes by @anthonyshew in https://github.com/vercel/turborepo/pull/14730
* feat: Activate every managed ecosystem in turbo run, including its own probes by @anthonyshew in https://github.com/vercel/turborepo/pull/14711
* feat: Download additional tools through the shared cache, offline mode, and a mirror by @anthonyshew in https://github.com/vercel/turborepo/pull/14709
* feat: Resolve native task commands through managed binaries by @anthonyshew in https://github.com/vercel/turborepo/pull/14712
* test: Cover the Unix additional-tool setup, run, and recovery matrix by @anthonyshew in https://github.com/vercel/turborepo/pull/14717
* feat: Qualify additional tools on native Windows x64 by @anthonyshew in https://github.com/vercel/turborepo/pull/14731
* feat: Use verified system tools in managed turbo run by @anthonyshew in https://github.com/vercel/turborepo/pull/14713
* test: Exercise managed Go setup then plain turbo run without host Go by @anthonyshew in https://github.com/vercel/turborepo/pull/14719
* test: Exercise managed Rust setup then plain turbo run without host Rust by @anthonyshew in https://github.com/vercel/turborepo/pull/14720
* test: Exercise managed uv and Python setup then plain turbo run without host Python by @anthonyshew in https://github.com/vercel/turborepo/pull/14722
* test: Exercise managed Yarn and Bun setup then plain turbo run without host tools by @anthonyshew in https://github.com/vercel/turborepo/pull/14723
* fix: Let turbo run and turbo exec use verify-system tools on musl hosts by @anthonyshew in https://github.com/vercel/turborepo/pull/14751
* test: Qualify Yarn classic and modern Yarn setup on native Windows x64 by @anthonyshew in https://github.com/vercel/turborepo/pull/14746
* feat: Provision managed uv on native Windows x64 by @anthonyshew in https://github.com/vercel/turborepo/pull/14749
* feat: Provision locked Rust toolchains on native Windows x64 by @anthonyshew in https://github.com/vercel/turborepo/pull/14752
* fix: Kill the command when `turbo exec` is killed by @anthonyshew in https://github.com/vercel/turborepo/pull/14757
* feat: Provision managed Go from the official Windows x64 zip by @anthonyshew in https://github.com/vercel/turborepo/pull/14748
* feat: Provision managed Python on native Windows x64 by @anthonyshew in https://github.com/vercel/turborepo/pull/14756
* feat: Activate managed tools from the PowerShell hook on native Windows x64 by @anthonyshew in https://github.com/vercel/turborepo/pull/14747
* feat: Activate managed Go with a plain GOROOT on native Windows by @anthonyshew in https://github.com/vercel/turborepo/pull/14754
* feat: Provision locked Bun on native Windows x64 by @anthonyshew in https://github.com/vercel/turborepo/pull/14750
* fix: Keep PowerShell hook output ASCII so console code pages cannot corrupt PATH by @anthonyshew in https://github.com/vercel/turborepo/pull/14755
* feat: Provision pnpm 12 native binaries on native Windows x64 by @anthonyshew in https://github.com/vercel/turborepo/pull/14753
* fix: Kill the local `turbo` when the global `turbo` that handed off is killed by @anthonyshew in https://github.com/vercel/turborepo/pull/14785
* feat: Activate managed Rust on native Windows x64 by @anthonyshew in https://github.com/vercel/turborepo/pull/14758
* feat: Activate managed Go from the shell hook on native Windows x64 by @anthonyshew in https://github.com/vercel/turborepo/pull/14764
* fix: Block cache restoration writes to Git metadata by @anthonyshew in https://github.com/vercel/turborepo/pull/14808
* feat: Report locked dependency actions in turbo setup plans and checks by @anthonyshew in https://github.com/vercel/turborepo/pull/14724
* feat: Advertise the managed-run peer contract on every claimed platform by @anthonyshew in https://github.com/vercel/turborepo/pull/14780
* fix: Activate managed tools in turbo watch by @anthonyshew in https://github.com/vercel/turborepo/pull/14779
* perf: Stamp installed tool trees on native Windows by @anthonyshew in https://github.com/vercel/turborepo/pull/14774
* feat: Install pnpm dependencies in frozen mode during setup by @anthonyshew in https://github.com/vercel/turborepo/pull/14726
* feat: Measure setup outcomes through standard telemetry by @anthonyshew in https://github.com/vercel/turborepo/pull/14546
* feat: Install Yarn dependencies immutably during setup by @anthonyshew in https://github.com/vercel/turborepo/pull/14733
* fix: Activate managed tools in commands that discover the repository by @anthonyshew in https://github.com/vercel/turborepo/pull/14784
* feat: Install Bun dependencies from a frozen lock during setup by @anthonyshew in https://github.com/vercel/turborepo/pull/14734
* feat: Sync locked uv workspaces during turbo setup by @anthonyshew in https://github.com/vercel/turborepo/pull/14735
* fix: Reject Windows prefixed paths during cache restore by @anthonyshew in https://github.com/vercel/turborepo/pull/14809
* feat: Prefetch locked Cargo dependencies during turbo setup by @anthonyshew in https://github.com/vercel/turborepo/pull/14736
* feat: Prefetch Go modules during turbo setup by @anthonyshew in https://github.com/vercel/turborepo/pull/14737
* test: Cover managed uv and Python setup on native Windows x64 by @anthonyshew in https://github.com/vercel/turborepo/pull/14761
* feat: Prefetch Cargo dependencies and report the MSVC linker on Windows by @anthonyshew in https://github.com/vercel/turborepo/pull/14760
* feat: Install locked dependencies offline from native caches by @anthonyshew in https://github.com/vercel/turborepo/pull/14759
* feat: Prefetch Go modules with managed Go on native Windows by @anthonyshew in https://github.com/vercel/turborepo/pull/14762
* feat: Install locked JavaScript dependencies on native Windows x64 by @anthonyshew in https://github.com/vercel/turborepo/pull/14763
* feat: Probe repository-local turbo on Windows and cover pins on every platform by @anthonyshew in https://github.com/vercel/turborepo/pull/14781
* feat: Export managed runtime variables from the shell hook on every platform by @anthonyshew in https://github.com/vercel/turborepo/pull/14802
* refactor: Route setup's Git queries through an injectable boundary by @anthonyshew in https://github.com/vercel/turborepo/pull/14811
* perf: Load each tsconfig once per file trace by @anthonyshew in https://github.com/vercel/turborepo/pull/14627
* perf: Overlap reading and compression when writing large cache archives by @anthonyshew in https://github.com/vercel/turborepo/pull/14604
* perf: Speed up pnpm lockfile pruning and encoding in turbo prune by @anthonyshew in https://github.com/vercel/turborepo/pull/14520
* perf: Prefetch remote cache artifacts as soon as task hashes are known by @anthonyshew in https://github.com/vercel/turborepo/pull/14585
* perf: Remove the remaining quadratic passes from the Bun prune subgraph by @anthonyshew in https://github.com/vercel/turborepo/pull/14523
* perf: Memoize Cargo.lock closures and share resolution identities by @anthonyshew in https://github.com/vercel/turborepo/pull/14498
* perf: Match node_modules-style exclusions by path segment instead of compiling globs by @anthonyshew in https://github.com/vercel/turborepo/pull/14634
* perf: Avoid waking the rayon pool for small workspaces by @anthonyshew in https://github.com/vercel/turborepo/pull/14602
* perf: Overlap affected change detection with package graph construction by @anthonyshew in https://github.com/vercel/turborepo/pull/14496
* perf: Find line breaks in task output a block at a time by @anthonyshew in https://github.com/vercel/turborepo/pull/14601
* perf: Buffer task log file writes in 64 KiB blocks by @anthonyshew in https://github.com/vercel/turborepo/pull/14607
* perf: Hand lockfile closures to JavaScript resolution as indices by @anthonyshew in https://github.com/vercel/turborepo/pull/14596
* perf: Share each file's text across its trace errors by @anthonyshew in https://github.com/vercel/turborepo/pull/14632
* fix: Preserve task output after non-zero exits by @vercel-gh-bot-3[bot] in https://github.com/vercel/turborepo/pull/14373
* perf: Overlap reading and compression when building cache archives for upload by @anthonyshew in https://github.com/vercel/turborepo/pull/14617
* perf: Install cache archives locally while they upload by @anthonyshew in https://github.com/vercel/turborepo/pull/14622
* perf: Skip newline normalization copies for already-normalized TUI output by @anthonyshew in https://github.com/vercel/turborepo/pull/14595
* chore: Update with-changesets example by @vercel-gh-bot-3[bot] in https://github.com/vercel/turborepo/pull/14638
* fix: Attribute Cargo.lock changes to the crates whose dependencies changed by @PedroRosalba in https://github.com/vercel/turborepo/pull/14656
* fix: Stop installing the Unix shell hook automatically by @anthonyshew in https://github.com/vercel/turborepo/pull/14813
* chore: Release Turborepo 2.11.9-canary.1 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/14817
* fix: Allow native package manager configuration during setup by @anthonyshew in https://github.com/vercel/turborepo/pull/14816
* refactor: Remove setup lifecycle script controls by @anthonyshew in https://github.com/vercel/turborepo/pull/14818
* docs: Use .NET in the multi-language guide by @sahyl in https://github.com/vercel/turborepo/pull/14793
* fix(cache): Parallelize dry-run HEAD fallback by @FOWEPJF255 in https://github.com/vercel/turborepo/pull/14801

## New Contributors
* @FOWEPJF255 made their first contribution in https://github.com/vercel/turborepo/pull/14801

**Full Changelog**: https://github.com/vercel/turborepo/compare/v2.11.8...v2.11.9

Related Repositories