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