{"collection":{"slug":"js-toolchain","name":"JavaScript Runtimes & Tooling"},"digest":{"id":"cwd_52z-mf913WIIZHPpqw-vx","weekStart":"2026-07-20","title":"Vitest beta rethinks config, Turborepo stable courts Cargo","intro":"Vitest v5.0.0-beta.7 separates config resolution from server creation, a breaking change for programmatic users, while Turborepo v2.10.6 adds first-class Cargo-only repository support.","body":"### Vitest beta separates config from server\n\nThe week’s biggest story is [Vitest’s v5.0.0-beta.7](/release/rel_BHw2nOILsdU6RTzaD_itS-vitest-v5-0-0-beta-7-separates-config-resolution-from-server-creation), which breaks config resolution away from the server object. Programmatic users who previously relied on `startVitest()` or `createVitest()` to return a fully configured server will need to migrate: config is now resolved independently before the server is created. The change, driven by @sheremet-va, cleans up Vitest’s internals but means any custom launcher or test runner wrapper must update its call sites. On the upside, the beta ships a pluggable benchmark provider API, a togglable `injectCjsGlobals` option, and performance wins from warm modules, Node compile cache, and bundled dependencies. The VS Code extension also saw a small but welcome quality-of-life fix: [diagnostics are now tagged with source \"Vitest\"](/release/rel_ELE8X6bjMZ1swA8SHVOH6-vitest-vs-code-v1-50-8-sets-diagnostic-source-to-vitest) instead of the default, making them filterable in the Problems panel.\n\n### Turborepo matures with Cargo support and polish\n\nTurborepo reached a minor milestone with [v2.10.6](/release/rel_Nv5F9-Xswoq-XaxpKSPql-turborepo-v2-10-6-adds-cargo-only-repo-support-and-fixes-pruning-bugs), which now supports Cargo-only repositories — Turborepo automatically infers Cargo workspace tasks, so Rust monorepos can use its caching and orchestration without a JavaScript package manager. The release also fixes a batch of pruning bugs (Bun, Yarn, pnpm), resolves security audit vulnerabilities, and preserves TUI output colors. The canary track continued to add refinements: [v2.10.6-canary.5](/release/rel_iWRejSy-RHZESw4jwLgn9-turborepo-v2-10-6-canary-5-preserves-pnpm-node-runtime-lockfile-entries-and) preserves pnpm `node@runtime:` lockfile entries that were previously dropped and checks dynamic imports in the boundaries module, while [v2.10.7-canary.1](/release/rel_dVjE3myiI-M3kQqLEoH0q-turborepo-v2-10-7-canary-1-fixes-jit-input-matching-and-preserves-pnpm) fixes JIT input matching for affected tasks and preserves pnpm root and aliased dependencies during prune. The latest [v2.10.8-canary.1](/release/rel_TUxFoadP0Eqb-tq9EF1PJ-turborepo-v2-10-8-canary-1-fixes-macos-file-watching-and-mouse-wheel-scrolling) adds multiple macOS file watch root support and enables mouse wheel scrolling in the Terminal UI task list — small ergonomic wins that add up. (A subsequent [v2.10.8-canary.2](/release/rel_kn52g8VpgEVeOJV0zWoC2-turborepo-v2-10-8-canary-2-internal-refactoring) was purely internal refactoring.)\n\n### Deno fixes registry downloads\n\n[Deno v2.9.4](/release/rel_1DhhPVM6O1Cpx3nQNSGJn-deno-v2-9-4-fixes-npm-tarball-downloads-from-configured-registries) fixed a critical bug: npm tarballs were downloading from registry.npmjs.org instead of the configured registry. If you use a private npm registry or mirror, this was silently breaking your dependency resolution. The release also includes dozens of other fixes across the runtime, plus V8 upgrade to 150.2.0.","releaseIds":["rel_BHw2nOILsdU6RTzaD_itS","rel_ELE8X6bjMZ1swA8SHVOH6","rel_Nv5F9-Xswoq-XaxpKSPql","rel_iWRejSy-RHZESw4jwLgn9","rel_dVjE3myiI-M3kQqLEoH0q","rel_TUxFoadP0Eqb-tq9EF1PJ","rel_kn52g8VpgEVeOJV0zWoC2","rel_1DhhPVM6O1Cpx3nQNSGJn"],"releaseCount":8,"generatedAt":"2026-07-27T06:18:25.158Z","releases":[{"id":"rel_BHw2nOILsdU6RTzaD_itS","title":"Vitest v5.0.0-beta.7 separates config resolution from server creation","path":"/release/rel_BHw2nOILsdU6RTzaD_itS-config-resolution-decoupled-from-server-pluggable-benchmark-api","org":{"slug":"vitest","name":"Vitest"},"importance":4},{"id":"rel_ELE8X6bjMZ1swA8SHVOH6","title":"Vitest VS Code v1.50.8 sets diagnostic source to \"Vitest\"","path":"/release/rel_ELE8X6bjMZ1swA8SHVOH6-diagnostics-now-labeled-as-vitest","org":{"slug":"vitest","name":"Vitest"},"importance":2},{"id":"rel_Nv5F9-Xswoq-XaxpKSPql","title":"Turborepo v2.10.6 adds Cargo-only repo support and fixes pruning bugs","path":"/release/rel_Nv5F9-Xswoq-XaxpKSPql-cargo-only-repos-supported-pruning-and-security-fixes","org":{"slug":"vercel","name":"Vercel"},"importance":2},{"id":"rel_iWRejSy-RHZESw4jwLgn9","title":"Turborepo v2.10.6-canary.5 preserves pnpm node:runtime lockfile entries and checks dynamic imports","path":"/release/rel_iWRejSy-RHZESw4jwLgn9-pnpm-node-runtime-lockfile-entries-preserved-dynamic-import-boundaries-checked","org":{"slug":"vercel","name":"Vercel"},"importance":2},{"id":"rel_dVjE3myiI-M3kQqLEoH0q","title":"Turborepo v2.10.7-canary.1 fixes JIT input matching and preserves pnpm dependencies during prune","path":"/release/rel_dVjE3myiI-M3kQqLEoH0q-jit-input-matching-fixed-pnpm-dependencies-preserved-during-prune","org":{"slug":"vercel","name":"Vercel"},"importance":2},{"id":"rel_TUxFoadP0Eqb-tq9EF1PJ","title":"Turborepo v2.10.8-canary.1 fixes macOS file watching and mouse wheel scrolling","path":"/release/rel_TUxFoadP0Eqb-tq9EF1PJ-multiple-macos-file-watch-roots-tui-scrolls-with-mouse-wheel","org":{"slug":"vercel","name":"Vercel"},"importance":2},{"id":"rel_kn52g8VpgEVeOJV0zWoC2","title":"Turborepo v2.10.8-canary.2 internal refactoring","path":"/release/rel_kn52g8VpgEVeOJV0zWoC2-turborepo-v2-10-8-canary-2-internal-refactoring","org":{"slug":"vercel","name":"Vercel"},"importance":1},{"id":"rel_1DhhPVM6O1Cpx3nQNSGJn","title":"Deno v2.9.4 fixes npm tarball downloads from configured registries","path":"/release/rel_1DhhPVM6O1Cpx3nQNSGJn-npm-tarballs-now-download-from-configured-registry","org":{"slug":"deno","name":"Deno"},"importance":2}]}}