Turborepo 2.7
Turborepo 2.7 is now available, including new features like:
- Devtools: Visualize your Package Graph and Task Graph
- Composable configuration: Extend Package Configurations from other configurations
- New Turborepo rule in Biome: Lint with Biome to find unsafe usage of environment variables
- Yarn 4 catalogs: Centralized dependency management for Yarn
Upgrade today by running npx @turbo/codemod migrate or get started with npx create-turbo@latest.
Devtools
We’ve shipped a brand new experience at turborepo.com/devtools. Starting with this version of Turborepo, you can run turbo devtools to visually explore your Package Graph and Task Graph.


The graphs will hot-reload as you make changes to your repository, and help you to answer questions like:
- Which packages will miss cache when I change my utilities package?
- What tasks does this task depend on, directly and indirectly?
- What packages does this specific package depend on that makes it miss cache so often?
And much, much more. Visit turborepo.com/devtools to get started, or learn more in the documentation.
Compose configuration with extends
We’ve expanded the capabilities of Package Configurations so you can write your configuration once, and share it to anywhere in your repository.
A more powerful extends key
Previously, you could only extend from your root turbo.json when you used the extends key. Now, you can reference turbo.json from any other package in your workspace by the package name:


This configuration inherits the build and prepare-build tasks from apps/web/turbo.json.
Extending array configurations
Additionally, we’re introducing a new keyword: $TURBO_EXTENDS$.


Previously, you could only overwrite array configurations completely. But now, in the example above, you can use $TURBO_EXTENDS$ to append to an existing array. This gives you a greater degree of control so you can choose to completely overwrite or extend from existing configuration.
New Biome rule: noUndeclaredEnvVars
Turborepo users love going fast, so its no surprise they enjoy using Biome for linting and formatting. However, until today, the only linting support we had for finding unsafe environment variable usage was in ESLint, with our eslint-plugin-turbo plugin.
In Biome 2.3.10 and above, you can find environment variables that can cause unexpected cache hits faster with the new Turborepo domain in Biome.
Biome will read your dependencies in your repository, and activate the Turborepo domain automatically. The noUndeclaredEnvVars rule is currently in the “nursery” group, so must be activated manually:
Once the rule is promoted out of the nursery group in a future release of Biome, the rule will be automatically activated for Turborepo projects, requiring zero-configuration. To learn more about Biome, visit the Biome documentation.
Yarn 4 catalogs
Yarn’s 4.10.0 release introduced “catalogs”, inspired by pnpm’s catalogs feature. Catalogs allow you to define a specific version of a dependency once, and reuse that version as a constant in the rest of your repository.
We’ve updated our lockfile parser to work with this new Yarn feature, ensuring our smart lockfile detection doesn’t cause global invalidations in your repository. Only the packages and tasks that are affected by the change to your catalogs will see cache misses, improving your cache hit rates.
Visit our Support Policy to learn more about our package manager support, or learn more about catalogs in the Yarn documentation.
Other changes
Acknowledgments and community
Turborepo is the result of the combined work of all of its contributors, including our core team: Anthony and Tom.
Thank you for your continued support, feedback, and collaboration to make Turborepo your build tool of choice. To learn how to get involved, visit the Community page.
We also thank everyone who contributed to this release of Turborepo: @2qp, @AdelFetner, @AndrewPynch, @AryanBagade, @birajitsaikia, @ctate, @dsmurdoch357, @deepakpathik, @mrr11k, @lishaduck, @ethan-fraser, @eug-vs, @GAMMA_Demon, @hanlee, @jnsamines, @kitfoster, @louisbompart, @ognevny, @cmg8431, @chosim-dvlpr, @amond, @nicolascharpentier, @progyansen, @pyrytakala, @sakena1303, @vanshagarwal, @yairopro, @YASHRDX0001, @Yeom-JinHo, @Gabrola, @zacowan, @hookim, @johnpyp, @mahi656, and @neel.
Additionally, the core team would like to thank:
-
moklick for their work on xyflow, an open-source library for building node-based UIs with React and Svelte. xyflow is the basis of the package and task graph visualizations in Turborepo Devtools.
-
The Biome core team for their help in adding the
noUndeclaredEnvVarsrule to Biome.