<!-- 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/repositoryby @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-svelteexample 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
globalconfiguration key behindfutureFlags.globalConfigurationby @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
--jsonand--log-fileflags 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 scancommand 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
tarandrustls-webpkiby @anthonyshew in https://github.com/vercel/turborepo/pull/12418 - docs: Promote
turbo queryfrom 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 lsto usequeryinternals and addturbo query lsshorthand 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-genby @sleitor in https://github.com/vercel/turborepo/pull/11935 - docs: Add Git history requirements to
turbo query affecteddocs 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
experimentalObservabilityintofutureFlagssection 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 watchwith persistent tasks by @anthonyshew in https://github.com/vercel/turborepo/pull/12459 - fix: Support
turbo watchin 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
--affectedglobal 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
Fetched March 31, 2026
