v2.11.4

vercel/turborepov2.11.4Sep 24, 2026by github-actions[bot]

Upgrading?

AI Summary

A patch release dedicated to correcting affected detection logic and refactoring internal repository graph contracts to improve test coverage and stability. It includes significant performance optimizations for Go and Cargo compilation caches.

Key Highlights

  • Fixed respect for negated global dependencies in affected detection
  • Refactored repository graphs and manifests for better testability
  • Improved Go and Cargo compilation cache sharing across integration tests

New Features

  • Affected query APIs to turborepo-query
  • Pure microfrontend port resolver
  • Injectable manifest loading to repository graphs
  • Subprocess-free Go observation assembly

Full Release Notes

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

## What's Changed
### Changelog
* fix: Respect negated global dependencies in affected detection by @anthonyshew in https://github.com/vercel/turborepo/pull/14164
* chore: Release Turborepo 2.11.3 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/14165
* test: Share Go compilation caches across integration tests by @anthonyshew in https://github.com/vercel/turborepo/pull/14166
* refactor: Add injectable manifest loading to repository graphs by @anthonyshew in https://github.com/vercel/turborepo/pull/14167
* test: Move Go and Cargo scope planning into crate tests by @anthonyshew in https://github.com/vercel/turborepo/pull/14168
* refactor: Extract subprocess-free Go observation assembly by @anthonyshew in https://github.com/vercel/turborepo/pull/14169
* test: Move Cargo environment hash contracts into crates by @anthonyshew in https://github.com/vercel/turborepo/pull/14170
* test: Move Cargo output layout matrices to repository contracts by @anthonyshew in https://github.com/vercel/turborepo/pull/14171
* test: Cover Go discovery identities in memory by @anthonyshew in https://github.com/vercel/turborepo/pull/14172
* test: Cover Go hash inputs in repository contracts by @anthonyshew in https://github.com/vercel/turborepo/pull/14174
* test: Move uv hash input contracts into crates by @anthonyshew in https://github.com/vercel/turborepo/pull/14175
* test: Cover Go task selection in the engine by @anthonyshew in https://github.com/vercel/turborepo/pull/14173
* test: Inject uv discovery for native task contracts by @anthonyshew in https://github.com/vercel/turborepo/pull/14176
* test: Inject query contracts over repository graphs by @anthonyshew in https://github.com/vercel/turborepo/pull/14177
* test: Inject dry-run task summary contracts by @anthonyshew in https://github.com/vercel/turborepo/pull/14178
* test: Expose prune workspace selection plan by @anthonyshew in https://github.com/vercel/turborepo/pull/14179
* test: Inject change detection at scope entry point by @anthonyshew in https://github.com/vercel/turborepo/pull/14180
* test: Move uv lock affectedness planning into repository contracts by @anthonyshew in https://github.com/vercel/turborepo/pull/14184
* test: Use virtual clock for package watcher events by @anthonyshew in https://github.com/vercel/turborepo/pull/14181
* test: Move Cargo task query and dry-run planning into contracts by @anthonyshew in https://github.com/vercel/turborepo/pull/14185
* test: Move uv quality query and dry-run projections into contracts by @anthonyshew in https://github.com/vercel/turborepo/pull/14186
* test: Move JavaScript hash and framework projections into contracts by @anthonyshew in https://github.com/vercel/turborepo/pull/14188
* test: Cover prune closure and native layout plans in process by @anthonyshew in https://github.com/vercel/turborepo/pull/14189
* test: Cover mixed-toolchain scope filters through injection by @anthonyshew in https://github.com/vercel/turborepo/pull/14190
* test: Make package watcher suppression and rediscovery deterministic by @anthonyshew in https://github.com/vercel/turborepo/pull/14191
* test: Inject watch run lifecycle and event collection by @anthonyshew in https://github.com/vercel/turborepo/pull/14192
* test: Move recursive root-script guard into process-free contract by @anthonyshew in https://github.com/vercel/turborepo/pull/14193
* test: Move Go query and summary parity into crate contracts by @anthonyshew in https://github.com/vercel/turborepo/pull/14187
* test: Remove duplicate CLI filter matrix cases by @anthonyshew in https://github.com/vercel/turborepo/pull/14194
* test: Trim duplicate prune materialization cases by @anthonyshew in https://github.com/vercel/turborepo/pull/14195
* test: Match Go library summary path on Windows by @anthonyshew in https://github.com/vercel/turborepo/pull/14197
* test: Cover mixed-toolchain watch task selection in process by @anthonyshew in https://github.com/vercel/turborepo/pull/14196
* test: Preserve Windows SystemRoot in strict-env fixture by @anthonyshew in https://github.com/vercel/turborepo/pull/14198
* test: Retain real watch smokes after selection migration by @anthonyshew in https://github.com/vercel/turborepo/pull/14199
* fix: Only reject secondary `go.work` files Go reads for workspace members by @voiys in https://github.com/vercel/turborepo/pull/14183
* test: Split Go north-star cache invalidation into hash contracts by @anthonyshew in https://github.com/vercel/turborepo/pull/14201
* test: Avoid deleting built prune output in cross-toolchain prune test by @anthonyshew in https://github.com/vercel/turborepo/pull/14202
* test: Move turbo.json validation cases into crate contracts by @anthonyshew in https://github.com/vercel/turborepo/pull/14203
* chore: Update with-solid example by @vercel-gh-bot-2[bot] in https://github.com/vercel/turborepo/pull/14200
* refactor: Split RunBuilder execution context construction into phases by @anthonyshew in https://github.com/vercel/turborepo/pull/14204
* refactor: Inject remote cache status probe by @anthonyshew in https://github.com/vercel/turborepo/pull/14205
* refactor: Inject inputs into config resolution by @anthonyshew in https://github.com/vercel/turborepo/pull/14206
* feat: Add affected query APIs to turborepo-query by @anthonyshew in https://github.com/vercel/turborepo/pull/14207
* refactor: Wire CLI through affected query APIs by @anthonyshew in https://github.com/vercel/turborepo/pull/14208
* feat: Add pure microfrontend port resolver by @anthonyshew in https://github.com/vercel/turborepo/pull/14209
* refactor: Inject change detection into affected run paths by @anthonyshew in https://github.com/vercel/turborepo/pull/14210
* test: Move affectedTasks planning cases into query contracts by @anthonyshew in https://github.com/vercel/turborepo/pull/14214
* refactor: Route get-mfe-port through the pure resolver by @anthonyshew in https://github.com/vercel/turborepo/pull/14215
* test: Count native discovery for JavaScript-only selections by @anthonyshew in https://github.com/vercel/turborepo/pull/14216
* fix: Disable remote cache after unrecoverable forbidden responses by @anthonyshew in https://github.com/vercel/turborepo/pull/14218
* perf: Send cache analytics in larger batches by @anthonyshew in https://github.com/vercel/turborepo/pull/14219
* perf: Batch dry-run remote cache existence checks by @anthonyshew in https://github.com/vercel/turborepo/pull/14220
* test: Move config precedence cases into funnel contracts by @anthonyshew in https://github.com/vercel/turborepo/pull/14217
* test: Move affected run planning into RunBuilder contracts by @anthonyshew in https://github.com/vercel/turborepo/pull/14212
* fix: Coordinate artifact requests after rate limiting by @anthonyshew in https://github.com/vercel/turborepo/pull/14221
* fix: Share concurrent remote-cache token recovery by @anthonyshew in https://github.com/vercel/turborepo/pull/14223
* refactor: Make repository context inputs injectable by @anthonyshew in https://github.com/vercel/turborepo/pull/14224
* refactor: Group Run state into execution and services contexts by @anthonyshew in https://github.com/vercel/turborepo/pull/14225
* test: Move Cargo prune layout checks into in-process plan contracts by @anthonyshew in https://github.com/vercel/turborepo/pull/14226
* test: Move Cargo and Go discovery cases into contracts by @anthonyshew in https://github.com/vercel/turborepo/pull/14227
* fix: Put version in `turbo query` JSON output instead of a separate banner by @anthonyshew in https://github.com/vercel/turborepo/pull/14229

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

**Full Changelog**: https://github.com/vercel/turborepo/compare/v2.11.3...v2.11.4

Related Repositories