Turborepo v2.0.0stable Released Jun 04, 2024
โš ๏ธ 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
Read the original context โ†—
Source flags breaking changes โ€” review applicability
$ npm install --save-dev --save-exact [email protected]
๐Ÿ“„ .MD
โšก 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