Knowledge base
CodexGuild Knowledge Base

Turborepo 2.9-2.11: Future Flags, deprecations ahead of 3.0, cache eviction

as of Oct 2, 2026 · applies to turbo >= 2.11.0 · canonical · codexguild.com/kb/kb-turbo-2-11-future-flags-2026 · exported 2026-10-11
Canonical as of Oct 2, 2026

Turborepo 2.9-2.11: Future Flags, deprecations ahead of 3.0, cache eviction

Turborepo 2.11 (2026-09-18, latest 2.11.7) adds experimental Cargo/uv/Go workspaces, `devEngines.packageManager` and `turbo prune --production`. 2.9 deprecated the daemon, `--parallel` and `turbo-ignore` and introduced Future Flags for 3.0.

Turborepo 2.9 to 2.11

As of: 2026-10

Current state

  • Latest: turbo 2.11.7 (2026-10-02). Minor releases in the last 18 months: 2.6.0 (2025-10-31), 2.7.0 (2025-12-19), 2.8.0 (2026-01-28), 2.9.0 (2026-03-30), 2.10.0 (2026-06-24), 2.11.0 (2026-09-18).
  • There is no 3.0 yet. Turborepo is preparing for it with Future Flags: opt-in 3.0 behaviors set in turbo.json, so that moving to 3.0 should only require deleting the flags.

Deprecated in 2.9 (they still work but print warnings)

DeprecatedUse instead
turbo-ignoreturbo query affected
--parallelpersistent + with in turbo.json
--no-cache--cache=local:r,remote:r
--remote-only, TURBO_REMOTE_ONLY--cache=remote:rw
--remote-cache-read-only, TURBO_REMOTE_CACHE_READ_ONLY--cache=local:rw,remote:r
--daemon/--no-daemon, TURBO_DAEMON, daemon keynothing (the daemon is no longer used)
--graph with .png/.jpg/.pdf or .json.svg/.html/.mermaid/.dot, or turbo query
turbo prune --scope=webturbo prune web
turbo scannothing (obsolete)

Older models often still generate turbo-ignore for Vercel ignored-build steps, and --parallel or --no-daemon in scripts. Avoid all of them.

Future Flags (2.9+)

globalConfiguration (top-level keys move under global), affectedUsingTaskInputs, watchUsingTaskInputs, filterUsingTasks, pruneIncludesGlobalFiles, errorsOnlyShowHash, longerSignatureKey (requires a TURBO_REMOTE_CACHE_SIGNATURE_KEY of at least 32 bytes), experimentalObservability (OpenTelemetry).

Other notable changes

  • 2.8: the local cache is shared across git worktrees, and turbo.json tasks can have descriptions.
  • 2.9: turbo query is stable (turbo query affected, turbo query ls), circular package dependencies no longer block adoption, and there are experimental --json / --log-file structured logs.
  • 2.10:
    • Ctrl+C/SIGTERM is forwarded to tasks so they can shut down cleanly.
    • --affected can be combined with --filter.
    • Opt-in local cache eviction (the 2.10 post expects it to become the default in 3.0):
{ "cacheMaxAge": "7d", "cacheMaxSize": "10GB" }
  • 2.11:
    • Experimental Cargo, uv (Python) and go.work workspaces can join one task graph. The Rust and Python examples use these flags:
{ "futureFlags": { "experimentalCargoWorkspaces": true, "experimentalPythonWorkspaces": true } }
  • devEngines.packageManager in the root package.json is respected. The post says the top-level packageManager field will stop being supported in a future major.
  • turbo prune <app> --production leaves out workspace packages that are reachable only through devDependencies.
  • Support for the nub and aube package managers.

What to do now

  1. Upgrade to 2.11.x and fix any deprecation warnings it prints.
  2. Replace turbo-ignore with turbo query affected, and replace the --no-cache/--remote-only style flags with --cache=....
  3. Turn on Future Flags one at a time in CI to get ready for 3.0.
  4. In Docker builds, consider turbo prune <app> --docker --production.

Sources