Turborepo v2.11.9-canary.1prerelease Released Oct 16, 2026
Impact Score: 5/10

Turborepo v2.11.9-canary.1

Source available โ€” automated, not human-reviewed

Component: turbo ยท Channel: prerelease. Automated analysis, not a compatibility certification. How this works.

Analysis updated: 2026-10-31.

Compatibility not verified โ€” check source notes
๐Ÿ“„ .MD
โšก Executive Summary (TL;DR)

Turborepo v2.11.9-canary.1. Source highlight: test: Add owned setup policy fixtures for CLI tests

Who Does This Impact? (Role-Based Analysis)

๐Ÿ’ป Software Engineers & Devs

Check the source notes against the package and APIs you use before upgrading.

๐Ÿ“Š Product & Engineering Leads

Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.

โš™๏ธ DevOps & Security

Verify the target version, runtime requirements and rollback procedure in the official documentation.

โœจ New Features & Capabilities (6)

  • test: Add owned setup policy fixtures for CLI tests
  • feat: Represent matching Node-bundled npm ownership
  • feat: Preserve setup lock declarations during prune
  • refactor: Add guarded setup publication primitives
  • feat: Provision frozen Node and pnpm through setup
  • feat: Validate managed Node and pnpm readiness

โšก Performance & Enhancements (6)

  • perf: Prefetch Cargo metadata during lazy graph construction
  • perf: Compute Berry lockfile closures once across workspaces
  • perf: Check cache hit outputs in place instead of on the blocking pool
  • perf: Speed up Berry lockfile loading
  • perf: Parse bun.lock without building a JSON syntax tree
  • perf: Skip the dry run cache batch window when there is no remote cache

๐Ÿ”ง Bug Fixes & Patches (6)

  • fix: Exclude optional npm peers from pruned lockfiles
  • fix: Guard setup publication plans and discovery indirections
  • fix: Release setup locks in their acquiring process
  • fix: Generalize repository bootstrap across toolchains
  • fix: Keep Go discovery stable when the repository is reached through a symlink
  • fix: Reject non-member local sources in the uv manifest fallback
๐Ÿ“„ View Raw Release Notes (Original Developer Log)
<!-- Release notes generated using configuration in .github/release.yml at v2.11.9-canary.1 --> ## What's Changed ### Changelog * test: Add owned setup policy fixtures for CLI tests by @anthonyshew in https://github.com/vercel/turborepo/pull/14456 * feat: Represent matching Node-bundled npm ownership by @anthonyshew in https://github.com/vercel/turborepo/pull/14457 * feat: Preserve setup lock declarations during prune by @anthonyshew in https://github.com/vercel/turborepo/pull/14459 * refactor: Add guarded setup publication primitives by @anthonyshew in https://github.com/vercel/turborepo/pull/14460 * chore: Release Turborepo 2.11.8-canary.2 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/14458 * chore: Update non-monorepo example by @vercel-gh-bot-4[bot] in https://github.com/vercel/turborepo/pull/14452 * feat: Provision frozen Node and pnpm through setup by @anthonyshew in https://github.com/vercel/turborepo/pull/14462 * fix: Exclude optional npm peers from pruned lockfiles by @anthonyshew in https://github.com/vercel/turborepo/pull/14470 * feat: Validate managed Node and pnpm readiness by @anthonyshew in https://github.com/vercel/turborepo/pull/14464 * feat: Resolve exact verified registry artifacts for setup locks by @anthonyshew in https://github.com/vercel/turborepo/pull/14465 * feat: Check installed setup tools without mutation by @anthonyshew in https://github.com/vercel/turborepo/pull/14467 * feat: Resolve captured Node and pnpm lock cohorts by @anthonyshew in https://github.com/vercel/turborepo/pull/14466 * fix: Guard setup publication plans and discovery indirections by @anthonyshew in https://github.com/vercel/turborepo/pull/14468 * fix: Release setup locks in their acquiring process by @anthonyshew in https://github.com/vercel/turborepo/pull/14472 * feat: Create and reconcile local setup locks by @anthonyshew in https://github.com/vercel/turborepo/pull/14473 * feat: Refresh managed setup locks explicitly by @anthonyshew in https://github.com/vercel/turborepo/pull/14474 * feat: Force reinstall locked setup tools by @anthonyshew in https://github.com/vercel/turborepo/pull/14475 * feat: Bind setup records to installation generations by @anthonyshew in https://github.com/vercel/turborepo/pull/14476 * chore: Update with-berry example by @vercel-gh-bot-3[bot] in https://github.com/vercel/turborepo/pull/14487 * fix: Generalize repository bootstrap across toolchains by @PedroRosalba in https://github.com/vercel/turborepo/pull/14444 * fix: Keep Go discovery stable when the repository is reached through a symlink by @PedroRosalba in https://github.com/vercel/turborepo/pull/14445 * fix: Reject non-member local sources in the uv manifest fallback by @PedroRosalba in https://github.com/vercel/turborepo/pull/14446 * fix: Hash ruff and pytest configuration between the root and uv members by @PedroRosalba in https://github.com/vercel/turborepo/pull/14447 * fix: Hash Clippy configuration for Cargo lint tasks by @PedroRosalba in https://github.com/vercel/turborepo/pull/14448 * fix: Carry uv tool configuration into pruned workspaces by @PedroRosalba in https://github.com/vercel/turborepo/pull/14449 * fix: Report inferred framework env vars for deferred tasks in dry runs by @PedroRosalba in https://github.com/vercel/turborepo/pull/14478 * docs: Explain declaring Cargo sources read from outside the crate by @PedroRosalba in https://github.com/vercel/turborepo/pull/14480 * fix: Upgrade turbo-gen Handlebars to 4.7.10 by @anthonyshew in https://github.com/vercel/turborepo/pull/14471 * chore: Add copyable Factory snapshot command by @anthonyshew in https://github.com/vercel/turborepo/pull/14481 * feat: Validate sealed native setup baselines by @anthonyshew in https://github.com/vercel/turborepo/pull/14482 * fix: Prevent Git index refresh during dirty hash collection by @anthonyshew in https://github.com/vercel/turborepo/pull/14489 * fix: Disable agent guidance by default by @anthonyshew in https://github.com/vercel/turborepo/pull/14490 * 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 ## New Contributors * @PedroRosalba made their first contribution in https://github.com/vercel/turborepo/pull/14444 **Full Changelog**: https://github.com/vercel/turborepo/compare/v2.11.8-canary.2...v2.11.9-canary.1