Change8

v2.8.18

📦 turborepoView on GitHub →
13 features🐛 23 fixes2 deprecations🔧 8 symbols

Summary

This release focuses heavily on improving logging architecture by introducing `turborepo-log`, TUI integration, and surfacing cache metadata. It also deprecates graphviz formats and the `--parallel` flag while introducing support for cyclic package graphs.

Migration Steps

  1. If you were relying on graphviz for generating graph visualizations, you will need to switch to the native SVG rendering.
  2. Review usage of the `--parallel` flag as it is being deprecated.

✨ New Features

  • Add `turbo query affected` CLI shorthand.
  • Add git SHA and dirty hash to cache metadata.
  • Surface cache SCM metadata in Run Summary.
  • Add TuiSink to route log events into the TUI.
  • Publish platform binaries under @turbo/ scoped packages.
  • Initialize `turborepo-log` in `turbo watch`.
  • Show richer remote cache status in run prelude.
  • Allow cyclic package graphs, validate only at task graph level.
  • Extend `LogSink` with task output and grouping support.
  • Add `GroupingLayer` for per-task output buffering.
  • Route child process bytes through TaskHandle with sink-owned prefix rendering.
  • Include `globalDependencies` in prune behind Future Flag.
  • Add `filterUsingTasks` future flag for task-level `--filter` resolution.

🐛 Bug Fixes

  • Sort uninstalled package managers to bottom of `create-turbo` selection.
  • Stop `add-package-names` codemod from silently renaming existing packages.
  • Sync yarn lockfile before upgrading turbo in examples updater.
  • Ensure `pkg#task` CLI args are always included in filtered packages.
  • Inline PlopTypes in @turbo/gen to fix implicit any for consumers.
  • Resolve git diff warning in fresh repos and make SCM state lazy.
  • Handle parent directory inputs in non-git repos.
  • Source cargo env in pre-push hook for Rust toolchain resolution.
  • Expand directory inputs to `dir/**` in manual SCM and git literal-path optimization.
  • Infer monorepo root in LSP instead of trusting editor `root_uri`.
  • Flush stale mouse tracking events from stdin during TUI cleanup.
  • Add check:toml to pre-push hook.
  • Filter phantom tasks from `affectedTasks` query results.
  • Detect affected tasks with `$TURBO_ROOT$` inputs when using `affectedUsingTaskInputs`.
  • Support private GitHub repos in `turbo gen workspace --copy`.
  • Hardening for supporting private GitHub repos in `turbo gen workspace --copy`.
  • Prevent `$TURBO_DEFAULT$` from matching unrelated root files in affected detection.
  • Resolve $turbo-get-mfe-port by packageName when application key differs.
  • Preserve all bun lockfile overrides during prune.
  • Suppress noisy rustls TLS warning on stderr.
  • Fall back to bundled certificates when system cert store is inaccessible.
  • Pass `TURBO_*` env vars through to child processes in Strict Mode.
  • Improve accessibility for docs.

Affected Symbols

⚡ Deprecations

  • Deprecate graphviz-dependent -`-graph` formats, add native SVG rendering.
  • Deprecate `--parallel` flag.
turborepo v2.8.18 - Change8