Support Policy
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
Darwin builds are intended for macOS on Intel and Apple Silicon. Linux builds
are tested on Ubuntu, but we expect them to work on most Debian-based (opens in a new tab)
distros. Windows builds are tested on the windows-latest
runner (opens in a new tab) in GitHub
Actions.
Node.js Compatibility
Most core turbo
functionality (especially turbo run
) does not depend on the
active Node.js version on your system, but some features of Turborepo and its ecosystem
such as create-turbo
, turbo-ignore
, and eslint-plugin-turbo
do. For these features,
we intend to support the Active and Maintenance LTS versions of Node.js (opens in a new tab).
Package Managers
Core turbo
functionality depends on the package managers in the JS ecosystem
and their implementations of workspace configuration (in monorepos) and
lockfiles formats. We intend to support:
npm
(v6+)yarn
(v1+)pnpm
(v6+)bun
(v1+) (beta, doesn't support all features)
It should be noted that package managers themselves have their own release schedules, bugs, and features. While we intend to keep up with new major versions, we may not release support immediately.
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.
Releases
Turborepo "loosely" follows SemVer policy. This means that we generally do not expect to make intentional "breaking" changes in patch or minor versions.
Some exceptions to this may be:
-
Configuration changes in
turbo.json
.These should usually be accompanied by a codemod that you can run with
npx @turbo/codemod update
and with at least one minor release that includes a deprecation message. -
Intentional behavioral changes to
turbo
's CLI commands.These should land in minor releases. If the change is large or disruptive enough, we may include flags to opt into the previous behavior.