v2.8.11
vercel/turborepov2.8.11Feb 25, 2026by turbo-orchestrator[bot]
AI Summary
This is a major performance-focused release featuring extensive optimizations across the codebase, including replacement of git subprocesses with native Rust libraries (libgit2 and gix-index), parallelization of multiple operations, and removal of the daemon from turbo run with deprecation of daemon flags and config.
Key Highlights
- Major performance improvements: replaced git subprocesses with libgit2 and gix-index for faster file hashing
- Removed daemon from `turbo run`, deprecated daemon flags and config
- Multiple parallelization improvements across workspace discovery, lockfile parsing, package.json loading, and task hash computation
- Reduced filesystem syscalls and CPU overhead in hot path operations
- Optimized dependency resolution cache sharing across workspaces
Breaking Changes
- Daemon removed from `turbo run` - daemon flags and config are now deprecated. Users relying on the daemon will need to update their workflows.
New Features
- Remove daemon from `turbo run`, deprecate daemon flags and config
Full Release Notes
<!-- Release notes generated using configuration in .github/release.yml at v2.8.11 --> ## What's Changed ### Docs * chore: Migrate to Ultracite by @haydenbleasel in https://github.com/vercel/turborepo/pull/11948 ### @turbo/repository * perf: Defer TLS initialization to a background thread by @anthonyshew in https://github.com/vercel/turborepo/pull/11967 * fix: Add repository field to @turbo/repository package.json by @anthonyshew in https://github.com/vercel/turborepo/pull/11982 * release(library): 0.0.1-canary.19 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/11983 ### Changelog * fix: Get all pnpm lockfile pruning tests passing by @anthonyshew in https://github.com/vercel/turborepo/pull/11897 * perf: Optimize pnpm lockfile transitive closure resolution by @anthonyshew in https://github.com/vercel/turborepo/pull/11898 * fix: Resolve npm packages in @turbo/gen compiled binary by @anthonyshew in https://github.com/vercel/turborepo/pull/11900 * perf: Deduplicate file hashing and parallelize globwalks by @anthonyshew in https://github.com/vercel/turborepo/pull/11902 * perf: Improve transitive dependency resolution cache sharing across workspaces by @anthonyshew in https://github.com/vercel/turborepo/pull/11903 * perf: Reduce filesystem syscalls in globwalk, SCM hashing, and task scheduling by @anthonyshew in https://github.com/vercel/turborepo/pull/11907 * feat: Remove daemon from `turbo run`, deprecate daemon flags and config by @anthonyshew in https://github.com/vercel/turborepo/pull/11910 * test: Replace help text integration tests with insta snapshots by @anthonyshew in https://github.com/vercel/turborepo/pull/11911 * perf: Reduce allocations in SCM hashing, glob preprocessing, and cache lookups by @anthonyshew in https://github.com/vercel/turborepo/pull/11916 * perf: Parallelize package.json loading and reduce builder allocations by @anthonyshew in https://github.com/vercel/turborepo/pull/11918 * perf: Cache compiled env wildcard regexes for builtin pass-through patterns by @anthonyshew in https://github.com/vercel/turborepo/pull/11920 * perf: Replace O(N) workspace path lookup with HashMap index in DependencySplitter by @anthonyshew in https://github.com/vercel/turborepo/pull/11922 * perf: Parallelize lockfile parsing with workspace discovery by @anthonyshew in https://github.com/vercel/turborepo/pull/11927 * perf: Optimize `turbo run` hotpath with parallelization and reduced allocations by @anthonyshew in https://github.com/vercel/turborepo/pull/11928 * perf: Share HTTP client and improve profile instrumentation by @anthonyshew in https://github.com/vercel/turborepo/pull/11929 * perf: Share HTTP client and improve profile instrumentation by @anthonyshew in https://github.com/vercel/turborepo/pull/11932 * perf: Reduce git subprocess calls on startup by @anthonyshew in https://github.com/vercel/turborepo/pull/11934 * chore: Upgrade zstd 0.12.3 to 0.13.3 by @anthonyshew in https://github.com/vercel/turborepo/pull/11936 * perf: Replace git subprocesses with `libgit2` and skip unnecessary summary work by @anthonyshew in https://github.com/vercel/turborepo/pull/11938 * perf: Reduce per-package hashing overhead and eliminate SCM subprocesses by @anthonyshew in https://github.com/vercel/turborepo/pull/11942 * perf: Reduce CPU overhead in `turbo run` hot path by @anthonyshew in https://github.com/vercel/turborepo/pull/11947 * perf: Replace `libgit2` git status with `gix-index` for faster file hashing by @anthonyshew in https://github.com/vercel/turborepo/pull/11950 * perf: Resolve literal input paths via stat instead of glob walk by @anthonyshew in https://github.com/vercel/turborepo/pull/11955 * perf: Optimize engine builder, task visitor, and untracked file discovery by @anthonyshew in https://github.com/vercel/turborepo/pull/11956 * perf: Parallelize `turbo run` pre-execution hot path by @anthonyshew in https://github.com/vercel/turborepo/pull/11958 * chore: Add tracing spans to uninstrumented hot path functions by @anthonyshew in https://github.com/vercel/turborepo/pull/11959 * perf: Use `Arc<str>` for task dependency hashes to avoid heap clones by @anthonyshew in https://github.com/vercel/turborepo/pull/11962 * perf: Add more tracing spans into startup path by @anthonyshew in https://github.com/vercel/turborepo/pull/11965 * perf: Parallelize task hash computation across topological waves by @anthonyshew in https://github.com/vercel/turborepo/pull/11969 * perf: Send engine callback before tracker bookkeeping and add tracing spans by @anthonyshew in https://github.com/vercel/turborepo/pull/11970 * fix: Resolve git_root to worktree root in linked worktrees by @anthonyshew in https://github.com/vercel/turborepo/pull/11974 * perf: Fast path for shallow wildcard glob patterns in workspace discovery by @anthonyshew in https://github.com/vercel/turborepo/pull/11972 * chore: Move git hooks from pre-commit to pre-push and match CI lint checks by @anthonyshew in https://github.com/vercel/turborepo/pull/11977 * chore: Update AGENTS.md by @anthonyshew in https://github.com/vercel/turborepo/pull/11978 * perf: Replace heap-allocated String with stack-allocated OidHash for git OIDs by @anthonyshew in https://github.com/vercel/turborepo/pull/11984 * perf: Eliminate redundant syscalls in FSCache fetch and exists by @anthonyshew in https://github.com/vercel/turborepo/pull/11985 * perf: Reduce per-task allocations in visitor dispatch loop by @anthonyshew in https://github.com/vercel/turborepo/pull/11986 * docs: Fix same-page anchor links that don't scroll to target by @anthonyshew in https://github.com/vercel/turborepo/pull/11989 * docs: Mention inputs key in package hash inputs table by @anthonyshew in https://github.com/vercel/turborepo/pull/11990 * fix(docs): update sitemap.md to single-line pipe-delimited format by @molebox in https://github.com/vercel/turborepo/pull/11976 * fix: Disable husky pre-push hook during release staging by @anthonyshew in https://github.com/vercel/turborepo/pull/11991 * fix: Use versioned schema URLs in Turborepo skill files by @anthonyshew in https://github.com/vercel/turborepo/pull/11994 * fix: Restore daemon client in `RunCache` for `turbo watch` by @anthonyshew in https://github.com/vercel/turborepo/pull/11995 **Full Changelog**: https://github.com/vercel/turborepo/compare/v2.8.10...v2.8.11