v2.10.4

cloudflare/agentsv2.10.4Jul 6, 2026by github-actions[bot]

AI Summary

This release focuses on significant performance improvements, including concurrent parsing of lockfiles and hardware-accelerated hashing, alongside introducing full support for Rust Cargo workspaces.

Key Highlights

  • Performance overhauls: Introduced mimalloc, concurrent lockfile parsing, and hardware-accelerated SHA-1 hashing.
  • Cargo workspace support: Added discovery, execution, pruning, and watching capabilities for Rust projects.
  • Toolchain provider abstraction introduced for better extensibility of build tools.
  • Bug fixes for Windows CI, lockfile detection, and dependency resolution issues.

New Features

  • Cargo workspace discovery and task execution
  • Cargo-aware `turbo prune` and `turbo watch` commands
  • Toolchain provider abstraction
  • Exposure of experimentalCI task configuration in `turbo query`

Full Release Notes

<!-- Release notes generated using configuration in .github/release.yml at v2.10.4 -->

## What's Changed
### Changelog
* release(turborepo): 2.10.3 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/13222
* ci: Retry Windows nextest aborts from transient 0xc0000142 spawn failures by @anthonyshew in https://github.com/vercel/turborepo/pull/13240
* perf: Use mimalloc as the global allocator by @anthonyshew in https://github.com/vercel/turborepo/pull/13237
* perf: Parse yarn v1 lockfiles in a single pass by @anthonyshew in https://github.com/vercel/turborepo/pull/13241
* ci: Fix cache outputs for Eve app by @anthonyshew in https://github.com/vercel/turborepo/pull/13243
* perf: Stop materializing spans for the disabled daemon log layer by @anthonyshew in https://github.com/vercel/turborepo/pull/13244
* fix: Keep ancestor-scoped bun dependencies resolvable after prune renames by @anthonyshew in https://github.com/vercel/turborepo/pull/13236
* perf: Overlap external dependency hashing with package file hashing by @anthonyshew in https://github.com/vercel/turborepo/pull/13234
* perf: Build tracked repo index concurrently with package graph by @anthonyshew in https://github.com/vercel/turborepo/pull/13232
* perf: Release tokio runtime at exit so background DNS lookups never stall the user by @anthonyshew in https://github.com/vercel/turborepo/pull/13231
* perf: Overhaul pnpm lockfile parsing and dependency closure computation by @anthonyshew in https://github.com/vercel/turborepo/pull/13228
* feat: Add futureFlags.experimentalCargoWorkspaces flag (no-op) by @anthonyshew in https://github.com/vercel/turborepo/pull/13227
* feat: Introduce toolchain provider abstraction by @anthonyshew in https://github.com/vercel/turborepo/pull/13235
* perf: Parse Berry lockfiles in a single pass by @anthonyshew in https://github.com/vercel/turborepo/pull/13242
* fix: Apply input exclusion globs to the filesystem walk by @anthonyshew in https://github.com/vercel/turborepo/pull/13224
* fix: Stop root-directory packages from claiming every file in change mapping by @anthonyshew in https://github.com/vercel/turborepo/pull/13225
* chore: Rename turborepo-repository napi package to @turbo/repository by @anthonyshew in https://github.com/vercel/turborepo/pull/13226
* perf: Hash git blobs with hardware-accelerated SHA-1 by @anthonyshew in https://github.com/vercel/turborepo/pull/13245
* release(turborepo): 2.10.4-canary.1 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/13247
* feat: Discover Cargo crates as packages by @anthonyshew in https://github.com/vercel/turborepo/pull/13248
* perf: Reuse per-package external dependency hashes in run summaries by @anthonyshew in https://github.com/vercel/turborepo/pull/13249
* perf: Stat workspace turbo.json files concurrently during discovery by @anthonyshew in https://github.com/vercel/turborepo/pull/13251
* chore: Add tracing spans to workspace discovery and globwalk phases by @anthonyshew in https://github.com/vercel/turborepo/pull/13252
* fix: Avoid non-reentrant libc calls in concurrent shutdown process scans by @anthonyshew in https://github.com/vercel/turborepo/pull/13256
* perf: Memoize resolved task definitions during engine construction by @anthonyshew in https://github.com/vercel/turborepo/pull/13257
* perf: Compute transitive closures and external dependency hashes concurrently with run setup by @anthonyshew in https://github.com/vercel/turborepo/pull/13250
* perf: Probe microfrontends configs in parallel by @anthonyshew in https://github.com/vercel/turborepo/pull/13262
* feat: Execute Cargo crate tasks via cargo by @anthonyshew in https://github.com/vercel/turborepo/pull/13261
* perf: Pre-size engine task collections by @anthonyshew in https://github.com/vercel/turborepo/pull/13265
* feat: Expose resolved experimentalCI task configuration in `turbo query` by @anthonyshew in https://github.com/vercel/turborepo/pull/13264
* feat: Derive input and output globs for Cargo tasks by @anthonyshew in https://github.com/vercel/turborepo/pull/13263
* perf: Parse large pnpm lockfile sections in parallel by @anthonyshew in https://github.com/vercel/turborepo/pull/13266
* feat: Hash Cargo external dependencies per-crate by @anthonyshew in https://github.com/vercel/turborepo/pull/13267
* ci: Install pnpm 10 in musl containers for Library Release by @anthonyshew in https://github.com/vercel/turborepo/pull/13269
* ci: Force pnpm overwrite in Library Release musl containers by @anthonyshew in https://github.com/vercel/turborepo/pull/13270
* perf: Defer the untracked-scan barrier to first file-hash use by @anthonyshew in https://github.com/vercel/turborepo/pull/13268
* ci: Fetch API-created commit before updating local ref by @anthonyshew in https://github.com/vercel/turborepo/pull/13271
* release(library): 0.0.1-canary.22 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/13272
* perf: Remove lock and dispatch overhead from task hash precomputation by @anthonyshew in https://github.com/vercel/turborepo/pull/13273
* fix: Fall back to lockfile detection in @turbo/repository when package manager is undeclared by @anthonyshew in https://github.com/vercel/turborepo/pull/13275
* test: Add end-to-end coverage for Cargo workspaces by @anthonyshew in https://github.com/vercel/turborepo/pull/13274
* release(library): 0.0.1-canary.23 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/13276
* release(turborepo): 2.10.4-canary.2 by @github-actions[bot] in https://github.com/vercel/turborepo/pull/13278
* fix: Collapse nested package-manager fallback conditional by @anthonyshew in https://github.com/vercel/turborepo/pull/13279
* feat: Make turbo watch Cargo-aware by @anthonyshew in https://github.com/vercel/turborepo/pull/13280
* perf: Skip dependency-closure assembly for toolchains that derive nothing by @anthonyshew in https://github.com/vercel/turborepo/pull/13277
* feat: Make turbo prune Cargo-aware by @anthonyshew in https://github.com/vercel/turborepo/pull/13281
* fix: Raise the open-file soft limit at startup by @anthonyshew in https://github.com/vercel/turborepo/pull/13282
* fix: Stop flagging relative imports that resolve into node_modules in boundaries by @anthonyshew in https://github.com/vercel/turborepo/pull/13284


**Full Changelog**: https://github.com/vercel/turborepo/compare/v2.10.3...v2.10.4