v2.8.18
📦 turborepoView on GitHub →
✨ 13 features🐛 23 fixes⚡ 2 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
- If you were relying on graphviz for generating graph visualizations, you will need to switch to the native SVG rendering.
- 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.