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 manager | Supported |
---|---|
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 version | Release date | End-of-life date |
---|---|---|
2.x | Jun. 4, 2024 | |
1.x | Dec. 9, 2021 | Jun. 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:
turbo query
turbo boundaries
and Tags--experimental-write-cache
forturbo watch
--output=json
forturbo ls --affected
flag
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:
TURBO_REMOTE_ONLY
and--remote-only
: UseTURBO_CACHE
or --cache