Support policy

Package managers

Core turbo functionality depends on the package managers in the JavaScript ecosystem and their implementations of Workspaces and lockfile formats.

Package managerSupported
pnpm 8+Yes
npm 8+Yes
yarn 1+Yes (Includes Yarn Plug'n'Play)
bun 1+Beta

Package managers have their own release schedules, bugs, and features. While we intend to keep up with new major versions, we likely will not be able to release support immediately.

Platforms

turbo is generally supported on Debian-based Linux distributions, macOS, and Windows on both x86_64 and ARM 64 architectures. Specifically, we build and ship the following binaries via npm:

  • turbo-darwin-64 (macOS with Intel chips)
  • turbo-darwin-arm64 (macOS with Apple Silicon)
  • turbo-linux-64
  • turbo-linux-arm64
  • turbo-windows-64*
  • turbo-windows-arm64*

*: Requires Windows C Runtime Libraries

Node.js

Core turbo functionality does not depend on the active Node.js version on your system, but some packages in the Turborepo ecosystem such as create-turbo, turbo-ignore, and eslint-config-turbo do. For these features, we intend to support the Active and Maintenance LTS versions of Node.js.

Turborepo's examples are also expected to work with these Node.js versions.

Version control

We support repositories that are version controlled with Git and repositories that don't have version control at all. Any other version control system will be ignored.

Note that we use Git to hash files, so repositories without git may perform and behave differently.

LTS policy

Major versions of Turborepo will be supported for two years from the release date of the next major version.

Changes required for critical security fixes in older versions will be backported. Such situations will be rare and will land as semver-minor releases, even if they are breaking changes.

We highly encourage you to use the most current version of Turborepo whenever possible.

Major versionRelease dateEnd-of-life date
2.xJun. 4, 2024
1.xDec. 9, 2021Jun. 4, 2026

Release phases

Stable builds of Turborepo follow semantic versioning (semver) and are thoroughly tested before being released.

Turborepo also offers specific APIs that may be released in an earlier phase of development. This is to allow early adopters to give valuable feedback and help the core team gain confidence in APIs ahead of their stable release. APIs that are available pre-stable will be marked as such in the documentation and within turbo itself whenever possible.

Not every API will be released in every phase. We use our best judgement to determine the phase for an API based on our confidence for the feature, weighing factors like the feature's complexity, possible use cases, and feedback from early users of the API.

The Turborepo core team would like to thank any users who do use features early and express our appreciation for any feedback you provide.

Stable

When an API reaches stability, it is considered ready for use in production. APIs marked as stable will only change in a backward-compatible way in a major release.

  • If a stable API is going to have breaking changes in an upcoming major release, warnings and documentation will be provided to help with migrations and next steps.
  • If a stable API is going to be removed in an upcoming major release, it will be marked as Deprecated to provide early notice of future removal.

Beta

Beta APIs require more confidence around reliability before a stable release. In the Beta phase, we are confident about the overall design of the feature and expect to be able to promote the feature to stable with relatively few changes. In rare cases, an API may require a breaking change and will not be covered by semver.

We encourage early adopters to use Beta APIs to help us gain certainty around the feature's design and stability. Depending on your risk tolerance, you can use the feature in production as you see fit.

APIs currently in the Beta phase:

  • None

Experimental

Experimental APIs lack essential capabilities required to be ready for stability. The design of the feature is considered to be under active development and can change at any time.

We encourage you to help us test experimental APIs in side projects, proof-of-concepts, and other environments where stability is non-essential. This gives you the opportunity to aid in the API's development by providing early feedback to the core team as the feature develops. We do not recommend using experimental APIs where reliability is essential.

APIs currently in the Experimental phase:

Deprecated

Deprecated APIs are in the process of being removed. Any feature we intend to remove will include documentation for existing users with next steps and information on when to expect the feature to be removed.

APIs that are currently deprecated: