Skip to content

chore: Deprecate the turbo scan command#12406

Merged
anthonyshew merged 3 commits intomainfrom
shew/deprecate-scan-command
Mar 20, 2026
Merged

chore: Deprecate the turbo scan command#12406
anthonyshew merged 3 commits intomainfrom
shew/deprecate-scan-command

Conversation

@anthonyshew
Copy link
Copy Markdown
Contributor

Summary

Deprecates turbo scan and removes all of its implementation code. The diagnostics it ran have become irrelevant as turbo has evolved:

  • Turbo no longer shells out to Git, so configuring Git's FS Monitor daemon provides no benefit to turbo performance.
  • The Turborepo daemon is no longer used for turbo run, making the daemon health check unnecessary.
  • Remote Cache linking should be automatic and frictionless, not gated behind an interactive wizard. We have better flows for this now.
  • The LSP check is premature -- we don't want to actively push users toward the extension at this stage.
  • Version update checks are better handled by existing tooling (e.g. npx @turbo/codemod update), not an interactive prompt.

Since every diagnostic turbo scan ran is now either obsolete or better served elsewhere, the command itself no longer provides value.

What changed

  • Deleted the turborepo-diagnostics crate and the commands/scan.rs implementation.
  • turbo scan is now hidden from --help and prints a deprecation warning if invoked.
  • Documentation updated: reference page shows a deprecation callout, reference index card marked deprecated, and turbo scan added to the deprecated list on the support policy page.

@anthonyshew anthonyshew requested a review from a team as a code owner March 20, 2026 19:59
@anthonyshew anthonyshew requested review from tknickman and removed request for a team March 20, 2026 19:59
@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented Mar 20, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
examples-basic-web Ready Ready Preview, Comment, Open in v0 Mar 20, 2026 9:24pm
examples-designsystem-docs Ready Ready Preview, Comment, Open in v0 Mar 20, 2026 9:24pm
examples-gatsby-web Ready Ready Preview, Comment, Open in v0 Mar 20, 2026 9:24pm
examples-kitchensink-blog Ready Ready Preview, Comment, Open in v0 Mar 20, 2026 9:24pm
examples-nonmonorepo Ready Ready Preview, Comment, Open in v0 Mar 20, 2026 9:24pm
examples-svelte-web Ready Ready Preview, Comment, Open in v0 Mar 20, 2026 9:24pm
examples-tailwind-web Ready Ready Preview, Comment, Open in v0 Mar 20, 2026 9:24pm
examples-vite-web Ready Ready Preview, Comment, Open in v0 Mar 20, 2026 9:24pm
turbo-site Ready Ready Preview, Comment, Open in v0 Mar 20, 2026 9:24pm
turborepo-agents Ready Ready Preview, Comment, Open in v0 Mar 20, 2026 9:24pm

Comment thread apps/docs/content/docs/reference/scan.mdx Outdated
… the Next.js docs build to fail with "Module not found".

This commit fixes the issue reported at apps/docs/content/docs/reference/scan.mdx:9

**Bug:** The file `apps/docs/content/docs/reference/scan.mdx` contains `import { Callout } from '#/components/callout';` on line 9. This module path `#/components/callout` does not resolve to any file — there is no `#` path alias configured in tsconfig.json or package.json imports, and no `callout.tsx` exists at that path. The `Callout` component is provided globally through `apps/docs/components/geistdocs/mdx-components.tsx`, and all 6 other MDX files in the same directory use `<Callout>` without any import.

This causes the Next.js docs build to fail with `Module not found: Can't resolve '#/components/callout'`.

**Fix:** Remove the broken `import { Callout } from '#/components/callout';` line from `scan.mdx`. The `<Callout>` component usage remains and will work correctly via the global MDX component injection, matching the pattern used by every other file in the directory.

Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com>
Co-authored-by: anthonyshew <anthonyshew@gmail.com>
@anthonyshew anthonyshew merged commit 4a12c26 into main Mar 20, 2026
87 of 89 checks passed
@anthonyshew anthonyshew deleted the shew/deprecate-scan-command branch March 20, 2026 21:35
github-actions Bot added a commit that referenced this pull request Mar 20, 2026
## Release v2.8.21-canary.2

Versioned docs: https://v2-8-21-canary-2.turborepo.dev

### Changes

- fix: Strip JSX components from heading anchors and TOC entries
(#12404) (`3abe553`)
- fix: Move docs app icons into app/ directory (#12403) (`ddf3918`)
- feat: Add experimental structured logging with `--json` and
`--log-file` flags (#12405) (`7ca0601`)
- release(turborepo): 2.8.21-canary.1 (#12407) (`adebb95`)
- docs: Downgrade Next.js (#12408) (`281e89b`)
- chore: Deprecate the `turbo scan` command (#12406) (`4a12c26`)

Co-authored-by: Turbobot <turbobot@vercel.com>
github-actions Bot added a commit that referenced this pull request Mar 23, 2026
## Release v2.8.21-canary.3

Versioned docs: https://v2-8-21-canary-3.turborepo.dev

### Changes

- chore: Deprecate the `turbo scan` command (#12406) (`4a12c26`)
- release(turborepo): 2.8.21-canary.2 (#12409) (`b9ef212`)
- fix(eslint-plugin-turbo): Guard against missing tasks/pipeline in
forEachTaskDef (#12411) (`6c107c2`)

Co-authored-by: Turbobot <turbobot@vercel.com>
github-actions Bot added a commit that referenced this pull request Mar 28, 2026
## Release v2.8.21

Versioned docs: https://v2-8-21.turborepo.dev

### Changes

- release(turborepo): 2.8.20 (#12396) (`45230ec`)
- fix: Disable husky hooks in `update-examples` workflow (#12397)
(`56b79ff`)
- docs: Add link to Docker guide in prune --docker flag section (#12401)
(`e7f0db7`)
- feat: Add `global` configuration key behind
`futureFlags.globalConfiguration` (#12399) (`5f190cf`)
- chore: Update CODEOWNERS to remove /docs owner (#12402) (`3233d3a`)
- fix: Strip JSX components from heading anchors and TOC entries
(#12404) (`3abe553`)
- fix: Move docs app icons into app/ directory (#12403) (`ddf3918`)
- feat: Add experimental structured logging with `--json` and
`--log-file` flags (#12405) (`7ca0601`)
- release(turborepo): 2.8.21-canary.1 (#12407) (`adebb95`)
- docs: Downgrade Next.js (#12408) (`281e89b`)
- chore: Deprecate the `turbo scan` command (#12406) (`4a12c26`)
- release(turborepo): 2.8.21-canary.2 (#12409) (`b9ef212`)
- fix(eslint-plugin-turbo): Guard against missing tasks/pipeline in
forEachTaskDef (#12411) (`6c107c2`)
- release(turborepo): 2.8.21-canary.3 (#12413) (`a2e6635`)
- chore: Upgrade Next.js (#12415) (`b9e6174`)
- Revert "fix: Flush stale mouse tracking events from stdin during TUI
cleanup" (#12416) (`646b06e`)
- fix: Add NixOS environment variables to default passthroughs (#12417)
(`4f12c69`)
- release(turborepo): 2.8.21-canary.4 (#12419) (`19cb539`)
- fix: Resolve security vulnerabilities in `tar` and `rustls-webpki`
(#12418) (`f09b138`)
- release(turborepo): 2.8.21-canary.5 (#12420) (`8aca047`)
- docs: Promote `turbo query` from experimental to stable (#12421)
(`0692aba`)
- docs: Clarify `turbo-ignore`'s future (#12422) (`c5a8235`)
- release(turborepo): 2.8.21-canary.6 (#12423) (`3ebf536`)
- feat: Rework turbo ls to use query internals and add turbo query ls
shorthand (#12424) (`84fd6e3`)
- docs: Clarify environment variables across packages dependency
behavior (#12390) (`e44b0d8`)
- docs: Expand subpath imports example (#12412) (`a7fec57`)
- fix(examples): Update of `with-svelte` example (#11952) (`41d1b2e`)
- release(turborepo): 2.8.21-canary.7 (#12425) (`7155a67`)
- fix: Preserve source dependencies when adding workspace deps in
`turbo-gen` (#11935) (`01c56cc`)
- docs: Add Git history requirements to `turbo query affected` docs
(#12426) (`edc16d5`)
- fix: Prevent horizontal overflow from long inline code on narrow
viewports (#12428) (`a5d641b`)
- release(turborepo): 2.8.21-canary.8 (#12429) (`46814d0`)
- feat: Send git SHA and dirty hash to remote cache (#12427) (`192034a`)
- fix: Upgrade tokio to 1.47.1+ to fix pidfd_reaper panic (#12431)
(`8c25d47`)
- release(turborepo): 2.8.21-canary.9 (#12432) (`2e2f8c3`)
- fix: Use script-shell=bash for cross-platform with-shell-commands
example (#12436) (`d5c2192`)
- docs: Add AI guide to sidebar navigation (#12438) (`021d288`)
- docs: Move `experimentalObservability` into `futureFlags` section
(#12439) (`85812cc`)
- fix: Skip Unix domain sockets and other special files during file
hashing (#12445) (`eb8f75e`)
- fix: Preserve dedupePeers and unknown pnpm lockfile settings (#12443)
(`1529b92`)
- release(turborepo): 2.8.21-canary.10 (#12446) (`014111c`)
- fix: Align dry run cache status with normal run by checking caching
guards (#12448) (`48aa171`)
- release(turborepo): 2.8.21-canary.11 (#12450) (`b14aa0b`)
- fix: Resolve turbo watch hang with mixed interruptible persistent
tasks (#12449) (`326532d`)
- release(turborepo): 2.8.21-canary.12 (#12451) (`379d47b`)
- fix: Avoid `setsid()` in PTY spawn to prevent macOS Gatekeeper CPU
spikes (#12452) (`dcc9f6a`)
- release(turborepo): 2.8.21-canary.13 (#12453) (`19f46e6`)
- feat: Add `packagesFromLockfile()` NAPI binding to `@turbo/repository`
(#12454) (`c58ee79`)
- release(library): 0.0.1-canary.21 (#12455) (`3637185`)
- release(turborepo): 2.8.21-canary.14 (#12456) (`3f87769`)
- refactor: Move cache hit SHA context to verbose logging (#12435)
(`23c15b4`)
- release(turborepo): 2.8.21-canary.15 (#12457) (`6353482`)
- docs: Add missing --force flag documentation (#12440) (`e3b89b0`)
- fix: Prevent panic in turbo watch with persistent tasks (#12459)
(`337b2e8`)
- release(turborepo): 2.8.21-canary.16 (#12461) (`e79a56b`)
- fix: Support `turbo watch` in single-package workspaces (#12460)
(`ae78ce1`)
- release(turborepo): 2.8.21-canary.17 (#12463) (`0bafae2`)
- fix: Missing deps after npm lockfile parsing (#12464) (`fe5a86e`)
- release(turborepo): 2.8.21-canary.18 (#12465) (`c014134`)
- docs: Add AI agent detection and automatic markdown rewrites (#12462)
(`50bd872`)
- fix: Resolve generator name conflicts across workspaces (#12467)
(`d5d37a8`)
- release(turborepo): 2.8.21-canary.19 (#12468) (`7552e93`)
- fix: Remove root package.json from `--affected` global triggers
(#12469) (`91ebb97`)
- release(turborepo): 2.8.21-canary.20 (#12470) (`c5a4690`)
- fix: Show run summary after TUI exits (#12471) (`ffa47d1`)

---------

Co-authored-by: Turbobot <turbobot@vercel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant