ShopperCove
Menu
All writingBlogTopicsCategoriesAboutRSS
Blog
Categories
Observability & SRE62All categories
Topics
sre111localhost lab102performance70python58javascript47bundle size36benchmarking35node.js35web development21typescript19benchmark16content creation15All topics
About
Loading article…

ShopperCove

Hands-on notes on developer tools, written after the tool has actually been run.

All writingBlogCategoriesTopicsAboutPrivacyRSS

© 2026 ShopperCove

On this page

  1. Why 2.2.8 now
  2. What 2.2.8 changes
  3. Features that stayed
  4. Features that did **not** ship
  5. Performance (memory / retained capacity)
  6. Fixes worth the pin
  7. Context from the 2.2 line (if you are still on 2.1.x)
  8. Upgrade checklist
  9. Bottom line
  10. Sources
  11. Related
  1. Blog

Rspack 2.2.8: resolver cache, memory shrinks, modern-module deferral (28 Sep 2026)

Rspack published @rspack/core@2.2.8 on 28 September 2026: resolver caching, memory shrinks, and modern-module deferral fixes on the 2.2 line. Upgrade checklist only; no affiliate.

5 October 2026·4 min read

Summary
On this page
  1. Why 2.2.8 now
  2. What 2.2.8 changes
  3. Features that stayed
  4. Features that did **not** ship
  5. Performance (memory / retained capacity)
  6. Fixes worth the pin
  7. Context from the 2.2 line (if you are still on 2.1.x)
  8. Upgrade checklist
  9. Bottom line
  10. Sources
  11. Related

Rspack 2.2.8: resolver cache, memory shrinks, modern-module deferral (28 Sep 2026)

No affiliate links. This is a frontend toolchain note from the Rspack GitHub releases, the npm @rspack/core registry, and the Announcing Rspack 2.2 blog. ShopperCove has not upgraded a production bundler to 2.2.8 for this article.

Why 2.2.8 now

npm @rspack/core@2.2.8 is the latest dist-tag as of 5 Oct 2026, published 28 Sep 2026 (14:37 UTC / 20:07 IST). The GitHub release v2.2.8 landed at 14:55 UTC the same day. Among Bun (1.4.2, 5 Sep), Prettier (3.9.9, 23 Sep), and @rspack/core (2.2.8, 28 Sep)—with Vite 8.3.2 and Turborepo 2.11.7 already packaged earlier today—this is the freshest Rspack stable line for the Bun/Prettier/Rspack slot.

2.2.8 is a dense patch on the 2.2 line announced 26 Aug 2026 (compact-hashed IDs, HMR CSS skip, Baseline browserslist, more Linux targets). The operator story here is the resolver cache, memory footprint work, and a handful of correctness fixes—not a new major.

What 2.2.8 changes

From the v2.2.8 release and compare v2.2.7…v2.2.8:

Features that stayed

  1. Resolver cache in the new cache system (#15839) — resolve results participate in the newer cache path. Expect fewer repeated resolve walks on warm rebuilds once you are on persistent/new cache settings (cache config).

Features that did not ship

  1. JavaScript URL entries with factory-type probes landed as #15666 and were reverted in the same release (#15840). Do not plan upgrades around that entry behavior for 2.2.8.

Performance (memory / retained capacity)

Multiple core shrinks: box optional match-resource / RSC / import-attribute data; store binding refs as indices; reuse compilation dependency arrays; shrink dependency location storage; box module-request strings; reduce retained dependency/source capacity; share used-by-exports payloads; skip unused code-splitting cache copies; release stats handles per module while converting stats to JS (PRs #15831, #15821, #15837, #15834, #15763, #15844, #15849, #15856, #15854, #15851, #15867, #15788).

Fixes worth the pin

  • Preserve deferred evaluation in modern-module output (#15846)
  • Resolve relative tsconfig paths against cwd (#15713)
  • Interrupt compaction at cache shutdown (#15850); reset MultiCompiler done state on watch restart (#15865)
  • Require a name for shared dependency tree shaking (#15872); allow unnamed Module Federation consumers in types (#15868)
  • CLI: enable compile cache before loading CLI (#15903); respect CI=false and skip compile cache in CI (#15904)
  • Loaders: avoid mutating lightningcss-loader options (#15900); normalize builtin options for inline requests (#15909)
  • Docs: clarify externals usage (#15866) — see also externals config

Context from the 2.2 line (if you are still on 2.1.x)

The Announcing Rspack 2.2 post (26 Aug 2026) is still the feature baseline: ~5% production-build speedups in their bench, faster CopyRspackPlugin, CSS parse ~3×, HMR that skips unnecessary CSS requests, compact-hashed module/chunk IDs, import.meta.rspackPublicPath, Baseline browserslist targets, and extra Linux native bindings (riscv64 / ppc64 / s390x). Wasm SWC plugins need SWC 77 rebuilds after the 2.2 swc_core bump. Upgrade notes: Upgrading from v1 to v2.

Upgrade checklist

  1. Pin exactly: npm i -D @rspack/core@2.2.8 (and matching @rspack/cli / binding packages your stack expects) and commit the lockfile.
  2. If you use persistent / new cache: compare cold vs warm resolve times after #15839.
  3. If you generate modern-module output: re-test deferred evaluation paths (#15846).
  4. If tsconfig paths are relative: confirm resolve-from-cwd behavior (#15713).
  5. If you use SWC Wasm plugins from before 2.2: rebuild against SWC 77 (2.2 breaking note)—2.2.8 does not undo that.
  6. Do not expect JavaScript URL entry factory probes; they were reverted (#15840).
  7. No urgency invented: this is a memory/correctness patch on an already-shipped 2.2 line, not a security advisory of its own.

ShopperCove did not change production Rspack versions for this article. Prefer rspack.rs and the GitHub releases over third-party roundups.

Bottom line

Rspack 2.2.8 (28 Sep 2026) is the patch to take for resolver caching on the new cache path and a stack of memory footprint reductions, plus modern-module deferral and relative-tsconfig fixes. Skip any plan that depended on the briefly-merged JS URL entry probes—they were reverted in the same tag. No affiliate.

Sources

  • 01registry.npmjs.org/@rspack/core/2.2.8
  • 02rspack.rs/guide/migration/rspack_1.x

Related

  • 01shoppercove.com/blog/vite-8-3-2-renderbuilturl-bundled-dev-sourcemaps-october-2026
  • 02shoppercove.com/blog/turborepo-2-11-7-sdkroot-oidc-cache-october-2026
  • 03shoppercove.com/blog/vite-plus-1-0-unified-toolchain-october-2026
  • 04shoppercove.com/blog/webpack-5-111-esm-output-stable-september-2026
  • 05shoppercove.com/blog/pnpm-12-9-1-rust-rewrite-wasm-split-october-2026
  • 06shoppercove.com/blog/biome-2-5-15-type-inference-nursery-rules-october-2026
  • 07shoppercove.com/blog/oxlint-1-87-react-suggestions-a11y-fixes-october-2026
  • 08shoppercove.com/blog/eslint-10-12-release-october-2026
rspackbundlerjavascriptweb-infraperformancememorycachebuild tools

Lab evidence

What I found running this

Sources read 5 Oct 2026 (Asia/Calcutta): npm @rspack/core dist-tag latest=2.2.8 (time 2026-09-28T14:37:36.961Z); GitHub release v2.2.8 published 2026-09-28T14:55:37Z (20:25 IST). Changelog vs 2.2.7: feat resolver cache in new cache system (#15839); feat JS URL entries with factory probes (#15666) then fix revert (#15840) in same release—do not ship plans on that entry behavior; perf memory shrinks (#15831/#15821/#15837/#15834/#15763/#15844/#15849/#15856/#15854/#15851/#15867/#15788); fix modern-module deferred evaluation (#15846); fix relative tsconfig paths against cwd (#15713); cache shutdown compaction (#15850); MultiCompiler watch restart (#15865); MF shared-dep name (#15872); CLI compile cache + CI=false (#15903/#15904); lightningcss-loader options (#15900); builtin inline request normalize (#15909); docs externals (#15866). Baseline feature post: rspack.rs/blog/announcing-2-2 (26 Aug 2026). Freshness compare: bun 1.4.2 (5 Sep), prettier 3.9.9 (23 Sep), vite 8.3.2 and turbo 2.11.7 already packaged earlier 5 Oct. Docs cache + v1→v2 migration 200. Checklist only; no ShopperCove bundler upgraded; no affiliate.

Notes when a lab post goes up

Occasional email for new hands-on reviews. No sequence and no sponsors.

Keep reading

  • Should You Leave Rollup? 964ms vs 246ms

    Rolldown 1.2.12 vs Rollup 4.64.0 on 501 ESM files (197380 B source): median wall 245.617 ms vs 964.3 ms (~3.9x). Output 130522 vs 126894 B. Direct node bin, 5 interleaved warm runs, no minify.

    Summary5 Oct 20264 min read

  • Should You Leave Depcruise? 679ms Test

    Madge 8.0.0 vs dependency-cruiser 16.10.2 on 116 JS files: median wall 679 ms vs 1122 ms (~1.65x). Both found the same 2 circular dependency groups. Depcruise also reported 120 modules / 193 dependencies.

    Summary5 Oct 20264 min read

  • Should You Leave Terser? 824ms vs 41ms

    Terser 5.51.2 vs esbuild 0.28.2 vs SWC 1.16.13 minify on a 403,418-byte unminified ESM bundle (800 modules): medians 824 ms / 41 ms / 70 ms. Output sizes 219492 / 207619 / 199712 B. Leave Terser if you only need fast minify; keep it for Terser-only compress options.

    Summary5 Oct 20265 min read