โ ๏ธ Breaking Change
Impact Score: 7/10
Turborepo v2.0.0
Source available โ automated, not human-reviewed
Component: turbo ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.
Analysis updated: 2026-11-01.
Breaking-change evidence from the source
Breaking * chore: remove legacy filter flags by @chris-olszewski in https://github.com/vercel/turbo/pull/8294/ * chore(turborepo): adjust error message for pipeline by @NicholasLYang in https://github.com/vercel/turbo/pull/8264
โก Executive Summary (TL;DR)
Turborepo v2.0.0. Source highlight: Upgrade guide: https://turbo.build/repo/docs/crafting-your-repository/upgrading
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.
โ ๏ธ Breaking Changes & Deprecations (1)
- Breaking * chore: remove legacy filter flags by @chris-olszewski in https://github.com/vercel/turbo/pull/8294/ * chore(turborepo): adjust error message for pipeline by @NicholasLYang in https://github.com/vercel/turbo/pull/8264
โจ New Features & Capabilities (6)
- feat(codemod): add logic for major version bump
- feat(codemod): place tasks last in turbo.json rewrites
- feat: change values of "ui" in turbo.json
- feat(codemod): place tasks last in turbo.json rewrites
- feat(codemod): add logic for major version bump
- feat(codemod): add missing package names
๐ง Bug Fixes & Patches (6)
- fix(codemod): support jsonc when parsing root turbo.json
- fix(codemod): respect --dry flag
- fix(codemod): support jsonc when parsing root turbo.json
- fix(turborepo): non-determinism with root internal deps hash.
- fix: update integration test to expect correct output
- fix(ui): disable UI on all dry runs
๐ View Raw Release Notes (Original Developer Log)
<!-- Release notes generated using configuration in .github/turborepo-release.yml at v2.0.0 -->
## What's Changed
Upgrade guide: https://turbo.build/repo/docs/crafting-your-repository/upgrading
### @turbo/codemod
* feat(codemod): add logic for major version bump by @chris-olszewski in https://github.com/vercel/turbo/pull/8260
* feat(codemod): place tasks last in turbo.json rewrites by @chris-olszewski in https://github.com/vercel/turbo/pull/8268
* fix(codemod): support jsonc when parsing root turbo.json by @chris-olszewski in https://github.com/vercel/turbo/pull/8279
* fix(codemod): respect --dry flag by @chris-olszewski in https://github.com/vercel/turbo/pull/8280
* feat: change values of "ui" in turbo.json by @chris-olszewski in https://github.com/vercel/turbo/pull/8289
* fix(codemod): support jsonc when parsing root turbo.json by @chris-olszewski in https://github.com/vercel/turbo/pull/8279
* feat(codemod): place tasks last in turbo.json rewrites by @chris-olszewski in https://github.com/vercel/turbo/pull/8268
* feat(codemod): add logic for major version bump by @chris-olszewski in https://github.com/vercel/turbo/pull/8260
* feat(codemod): add missing package names by @tknickman in https://github.com/vercel/turbo/pull/8186
### Changelog
#### Breaking
* chore: remove legacy filter flags by @chris-olszewski in https://github.com/vercel/turbo/pull/8294/
* chore(turborepo): adjust error message for pipeline by @NicholasLYang in https://github.com/vercel/turbo/pull/8264
* chore(turbo)!: remove check for legacy turbo config in package.json by @mehulkar in https://github.com/vercel/turbo/pull/8023
* chore(turbo)! hard error on env vars in task and global dependencies by @mehulkar in #8026
* feat: require packageManager in package.json by @chris-olszewski in #8017
* feat(filter): no longer infer scope in filters by @chris-olszewski in #8137
* chore!(create-turbo): remove old pm arg by @tknickman in #8150
* feat: error on empty package name by @chris-olszewski #8152
* feat(filter): error on invalid filters by @chris-olszewski #8142
* Move fs cache location. by @anthonyshew in #8126
* refactor(turborepo): Rename outputMode to outputLogs in turbo.json by @NicholasLYang in #8149
* feat: --only now applies to package dependencies by @chris-olszewski in #8163
* Rename pipeline to tasks. by @anthonyshew in #8157
* feat: add doublestar to exact dir paths by @chris-olszewski in #8180
* chore: remove globalDotEnv and dotEnv fields by @chris-olszewski in #8181
* chore: make env mode strict by default by @chris-olszewski in #8182
#### Other
* feat: allow for negative globs in globalDeps by @chris-olszewski in #8190
* chore: change turborepo licenses to MIT by @chris-olszewski in #8197
* feat: all dependencies of root package contribute to global hash by @chris-olszewski in #8202
* fix(turborepo): non-determinism with root internal deps hash. by @NicholasLYang in https://github.com/vercel/turbo/pull/8277
* fix: update integration test to expect correct output by @chris-olszewski in https://github.com/vercel/turbo/pull/8285
* chore: remove cpuprofile flag by @chris-olszewski in https://github.com/vercel/turbo/pull/8282
* fix(ui): disable UI on all dry runs by @chris-olszewski in https://github.com/vercel/turbo/pull/8269
* fix(turborepo): stderr log by @NicholasLYang in https://github.com/vercel/turbo/pull/8267
* chore(turborepo): adjust error message for pipeline by @NicholasLYang in https://github.com/vercel/turbo/pull/8264
* fix(ui): ensure prelude gets printed before ui starts by @chris-olszewski in https://github.com/vercel/turbo/pull/8265
* chore(@turbo/benchmark): fix lint warnings by @mehulkar in https://github.com/vercel/turbo/pull/8233
* chore(turborepo): Feature flagged off file hashing by @NicholasLYang in https://github.com/vercel/turbo/pull/8229
* chore: downgrade curl to fix Windows rust tests by @chris-olszewski in https://github.com/vercel/turbo/pull/8242
* fix(turborepo): Remove optional git locks by @NicholasLYang in https://github.com/vercel/turbo/pull/8244
* fix(turborepo): Optional lock with env var by @NicholasLYang in https://github.com/vercel/turbo/pull/8247
* add two retry strategies to allow requests to timeout gracefully by @arlyon in https://github.com/vercel/turbo/pull/8080
* add support for upload speed / remaining in the cache upload step by @arlyon in https://github.com/vercel/turbo/pull/8081
* chore: remove --ignore flag by @chris-olszewski in https://github.com/vercel/turbo/pull/8201
* feat: factor engines into global cache key by @chris-olszewski in #8173
**Full Changelog**: https://github.com/vercel/turbo/compare/v1.13.4...v2.0.0