Impact Score: 5/10
Turborepo v2.9.4
Source available โ automated, not human-reviewed
Component: turbo ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.
Analysis updated: 2026-11-01.
โก Executive Summary (TL;DR)
Turborepo v2.9.4. Source highlight: fix: Always update $schema URL to versioned format during migration
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 (2)
- feat: Add incremental task caching
- feat: Allow `--affected` and `--filter` to be combined
๐ง Bug Fixes & Patches (6)
- fix: Always update $schema URL to versioned format during migration
- fix: Support `turbo.jsonc` in codemod transforms
- fix: Preserve prerelease info in schema URL during codemod migration
- fix: Prevent `filterUsingTasks` `--filter` from pulling dependents into Task Graph
- fix: Only enforce signature key length for keys that exist
- fix: Validate engine concurrency after task-level filtering
๐ View Raw Release Notes (Original Developer Log)
<!-- Release notes generated using configuration in .github/release.yml at v2.9.4 -->
## What's Changed
### @turbo/codemod
* fix: Always update $schema URL to versioned format during migration by @anthonyshew in https://github.com/vercel/turborepo/pull/12529
* fix: Support `turbo.jsonc` in codemod transforms by @anthonyshew in https://github.com/vercel/turborepo/pull/12532
* fix: Preserve prerelease info in schema URL during codemod migration by @anthonyshew in https://github.com/vercel/turborepo/pull/12542
### Examples
* build(deps): Bump @xmldom/xmldom from 0.8.11 to 0.8.12 in /examples/with-react-native-web by @dependabot[bot] in https://github.com/vercel/turborepo/pull/12537
### Changelog
* feat: Add incremental task caching by @anthonyshew in https://github.com/vercel/turborepo/pull/12531
* docs: Send siteId as label on feedback GitHub issues by @molebox in https://github.com/vercel/turborepo/pull/12527
* Replace local ai-agent-detection with @vercel/agent-readability by @molebox in https://github.com/vercel/turborepo/pull/12528
* fix: Prevent `filterUsingTasks` `--filter` from pulling dependents into Task Graph by @anthonyshew in https://github.com/vercel/turborepo/pull/12535
* fix: Only enforce signature key length for keys that exist by @anthonyshew in https://github.com/vercel/turborepo/pull/12538
* fix: Validate engine concurrency after task-level filtering by @anthonyshew in https://github.com/vercel/turborepo/pull/12540
* feat: Allow `--affected` and `--filter` to be combined by @anthonyshew in https://github.com/vercel/turborepo/pull/12543
* fix(config): Deep-merge nested OTEL config across priority sources by @bitttttten in https://github.com/vercel/turborepo/pull/12513
* fix: Retain microfrontend proxy tasks when using `filterUsingTasks` by @anthonyshew in https://github.com/vercel/turborepo/pull/12545
* fix: Bun workspace lockfile pruning producing invalid output by @JRoy in https://github.com/vercel/turborepo/pull/12548
* fix: Respect dirty .gitignore patterns during task input hashing by @anthonyshew in https://github.com/vercel/turborepo/pull/12557
## New Contributors
* @JRoy made their first contribution in https://github.com/vercel/turborepo/pull/12548
**Full Changelog**: https://github.com/vercel/turborepo/compare/v2.9.3...v2.9.4