Turborepo v2.8.21stable Released Mar 28, 2026
Impact Score: 5/10

Turborepo v2.8.21

Source available โ€” automated, not human-reviewed

Component: turbo ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.

Analysis updated: 2026-11-01.

Compatibility not verified โ€” check source notes
$ npm install --save-dev --save-exact [email protected]
๐Ÿ“„ .MD
โšก Executive Summary (TL;DR)

Turborepo v2.8.21. Source highlight: fix: Strip JSX components from heading anchors and TOC entries

Who Does This Impact? (Role-Based Analysis)

๐Ÿ’ป Software Engineers & Devs

Check the source notes against the package and APIs you use before upgrading.

๐Ÿ“Š Product & Engineering Leads

Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.

โš™๏ธ DevOps & Security

Verify the target version, runtime requirements and rollback procedure in the official documentation.

โœจ New Features & Capabilities (6)

  • feat: Add `packagesFromLockfile()` NAPI binding to `@turbo/repository`
  • docs: Add link to Docker guide in prune --docker flag section
  • feat: Add `global` configuration key behind `futureFlags.globalConfiguration`
  • feat: Add experimental structured logging with `--json` and `--log-file` flags
  • feat: Rework `turbo ls` to use `query` internals and add `turbo query ls` shorthand
  • docs: Add Git history requirements to `turbo query affected` docs

๐Ÿ”ง Bug Fixes & Patches (6)

  • fix: Strip JSX components from heading anchors and TOC entries
  • fix(eslint-plugin-turbo): Guard against missing tasks/pipeline in forEachTaskDef
  • fix(examples): Update of `with-svelte` example
  • fix: Use script-shell=bash for cross-platform with-shell-commands example
  • fix: Move docs app icons into app/ directory
  • Revert "fix: Flush stale mouse tracking events from stdin during TUI cleanup"
๐Ÿ“„ View Raw Release Notes (Original Developer Log)
<!-- Release notes generated using configuration in .github/release.yml at v2.8.21 --> ## What's Changed ### Docs * fix: Strip JSX components from heading anchors and TOC entries by @anthonyshew in https://github.com/vercel/turborepo/pull/12404 ### eslint * fix(eslint-plugin-turbo): Guard against missing tasks/pipeline in forEachTaskDef by @sleitor in https://github.com/vercel/turborepo/pull/12411 ### @turbo/repository * feat: Add `packagesFromLockfile()` NAPI binding to `@turbo/repository` by @anthonyshew in https://github.com/vercel/turborepo/pull/12454 * release(library): 0.0.1-canary.21 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/12455 ### Examples * fix(examples): Update of `with-svelte` example by @floriansalihovic in https://github.com/vercel/turborepo/pull/11952 * fix: Use script-shell=bash for cross-platform with-shell-commands example by @Goldyvaiiii in https://github.com/vercel/turborepo/pull/12436 ### Changelog * docs: Add link to Docker guide in prune --docker flag section by @styfle in https://github.com/vercel/turborepo/pull/12401 * feat: Add `global` configuration key behind `futureFlags.globalConfiguration` by @anthonyshew in https://github.com/vercel/turborepo/pull/12399 * chore: Update CODEOWNERS to remove /docs owner by @anthonyshew in https://github.com/vercel/turborepo/pull/12402 * fix: Move docs app icons into app/ directory by @anthonyshew in https://github.com/vercel/turborepo/pull/12403 * feat: Add experimental structured logging with `--json` and `--log-file` flags by @anthonyshew in https://github.com/vercel/turborepo/pull/12405 * docs: Downgrade Next.js by @anthonyshew in https://github.com/vercel/turborepo/pull/12408 * chore: Deprecate the `turbo scan` command by @anthonyshew in https://github.com/vercel/turborepo/pull/12406 * chore: Upgrade Next.js by @anthonyshew in https://github.com/vercel/turborepo/pull/12415 * Revert "fix: Flush stale mouse tracking events from stdin during TUI cleanup" by @anthonyshew in https://github.com/vercel/turborepo/pull/12416 * fix: Add NixOS environment variables to default passthroughs by @anthonyshew in https://github.com/vercel/turborepo/pull/12417 * fix: Resolve security vulnerabilities in `tar` and `rustls-webpki` by @anthonyshew in https://github.com/vercel/turborepo/pull/12418 * docs: Promote `turbo query` from experimental to stable by @anthonyshew in https://github.com/vercel/turborepo/pull/12421 * docs: Clarify `turbo-ignore`'s future by @anthonyshew in https://github.com/vercel/turborepo/pull/12422 * feat: Rework `turbo ls` to use `query` internals and add `turbo query ls` shorthand by @anthonyshew in https://github.com/vercel/turborepo/pull/12424 * docs: Clarify environment variables across packages dependency behavior by @ramanverse in https://github.com/vercel/turborepo/pull/12390 * docs: Expand subpath imports example by @lilianakatrina684-a11y in https://github.com/vercel/turborepo/pull/12412 * fix: Preserve source dependencies when adding workspace deps in `turbo-gen` by @sleitor in https://github.com/vercel/turborepo/pull/11935 * docs: Add Git history requirements to `turbo query affected` docs by @anthonyshew in https://github.com/vercel/turborepo/pull/12426 * fix: Prevent horizontal overflow from long inline code on narrow viewports by @anthonyshew in https://github.com/vercel/turborepo/pull/12428 * feat: Send git SHA and dirty hash to remote cache by @mehulkar in https://github.com/vercel/turborepo/pull/12427 * fix: Upgrade tokio to 1.47.1+ to fix pidfd_reaper panic by @anthonyshew in https://github.com/vercel/turborepo/pull/12431 * docs: Add AI guide to sidebar navigation by @anthonyshew in https://github.com/vercel/turborepo/pull/12438 * docs: Move `experimentalObservability` into `futureFlags` section by @anthonyshew in https://github.com/vercel/turborepo/pull/12439 * fix: Skip Unix domain sockets and other special files during file hashing by @anthonyshew in https://github.com/vercel/turborepo/pull/12445 * fix: Preserve dedupePeers and unknown pnpm lockfile settings by @attehuhtakangas in https://github.com/vercel/turborepo/pull/12443 * fix: Align dry run cache status with normal run by checking caching guards by @anthonyshew in https://github.com/vercel/turborepo/pull/12448 * fix: Resolve turbo watch hang with mixed interruptible persistent tasks by @anthonyshew in https://github.com/vercel/turborepo/pull/12449 * fix: Avoid `setsid()` in PTY spawn to prevent macOS Gatekeeper CPU spikes by @anthonyshew in https://github.com/vercel/turborepo/pull/12452 * refactor: Move cache hit SHA context to verbose logging by @mehulkar in https://github.com/vercel/turborepo/pull/12435 * docs: Add missing --force flag documentation by @Goldyvaiiii in https://github.com/vercel/turborepo/pull/12440 * fix: Prevent panic in `turbo watch` with persistent tasks by @anthonyshew in https://github.com/vercel/turborepo/pull/12459 * fix: Support `turbo watch` in single-package workspaces by @anthonyshew in https://github.com/vercel/turborepo/pull/12460 * fix: Missing deps after npm lockfile parsing by @anthonyshew in https://github.com/vercel/turborepo/pull/12464 * docs: Add AI agent detection and automatic markdown rewrites by @molebox in https://github.com/vercel/turborepo/pull/12462 * fix: Resolve generator name conflicts across workspaces by @anthonyshew in https://github.com/vercel/turborepo/pull/12467 * fix: Remove root package.json from `--affected` global triggers by @anthonyshew in https://github.com/vercel/turborepo/pull/12469 * fix: Show run summary after TUI exits by @anthonyshew in https://github.com/vercel/turborepo/pull/12471 ## New Contributors * @ramanverse made their first contribution in https://github.com/vercel/turborepo/pull/12390 * @lilianakatrina684-a11y made their first contribution in https://github.com/vercel/turborepo/pull/12412 * @floriansalihovic made their first contribution in https://github.com/vercel/turborepo/pull/11952 * @Goldyvaiiii made their first contribution in https://github.com/vercel/turborepo/pull/12436 * @attehuhtakangas made their first contribution in https://github.com/vercel/turborepo/pull/12443 **Full Changelog**: https://github.com/vercel/turborepo/compare/v2.8.20...v2.8.21