# rspack v2.2.0 - Product: rspack (https://whatsnew.fyi/product/rspack) - Vendor: rspack - Date: 2026-08-26 - Version: v2.2.0 - Original notes: https://github.com/web-infra-dev/rspack/releases/tag/v2.2.0 - Permalink: https://whatsnew.fyi/product/rspack/releases/v2.2.0 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — Implement generation-based memory cache eviction - **added** — Add idle cache compaction with interruption handling - **changed** — Improve unicode handling and support more CSS modules cases, boost performance - **added** — Integrate module code generation to the new cache - **added** — Add fine-grained new cache options - **added** — Add compat-hashed module ids - **added** — Analyze dynamic imports in Promise.all destructuring - **added** — Integrate new cache into source map devtool plugin - **added** — Add compilation.runtimeTemplate - **added** — Add compact chunk ids - **added** — Support opt-in per-loader caching - **changed** — Cache converted module original source - **changed** — Batch splitChunks JavaScript callbacks - **changed** — Avoid parsing concatenated module codegen - **changed** — Preallocate identifier path buffers - **changed** — Intern ArcPath as a single-allocation prehashed path - **changed** — Use rayon parallel scheduling for new cache db - **changed** — Skip the directory walk for glob patterns without metacharacters - **fixed** — Pass HMR error to Preact refresh recovery handler - **fixed** — Strip BOM from module content before concatenation in CSS extraction ##### What's Changed ##### 🎉 See [Announcing Rspack 2.2](https://rspack.rs/blog/announcing-2-2) for more details. ###### New Features 🎉 * feat: implement generation-based memory cache eviction by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15181 * feat: add idle cache compaction with interruption handling by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15182 * feat(css): improve unicode handling and support more css modules cases, boost performance by @intellild in https://github.com/web-infra-dev/rspack/pull/14809 * feat: integrate module code generation to the new cache by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15194 * feat(cache): add fine-grained new cache options by @hardfist in https://github.com/web-infra-dev/rspack/pull/15261 * feat(ids): add compat-hashed module ids by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14926 * feat: analyze dynamic imports in Promise.all destructuring by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/15249 * feat: integrate new cache into source map devtool plugin by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15269 * feat(core): add compilation.runtimeTemplate by @kakiuwang-ui in https://github.com/web-infra-dev/rspack/pull/15305 * feat(ids): add compact chunk ids by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14959 * feat(loader): support opt-in per-loader caching by @intellild in https://github.com/web-infra-dev/rspack/pull/15236 ###### Performance 🚀 * perf(binding): cache converted module original source by @SyMind in https://github.com/web-infra-dev/rspack/pull/15174 * perf: batch splitChunks JavaScript callbacks by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/15147 * perf(binding): exclude test loaders from release builds by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15209 * perf(binding): exclude perfetto from release WASI builds by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15221 * perf(binding): align release WASI optimizations by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15227 * perf(binding): optimize React Compiler crates for size by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15230 * perf: avoid parsing concatenated module codegen by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14852 * perf: preallocate identifier path buffers by @intellild in https://github.com/web-infra-dev/rspack/pull/15220 * perf(paths): intern ArcPath as a single-allocation prehashed path by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15205 * perf: use rayon parallel scheduling for new cache db by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15251 * perf(core): skip the directory walk for glob patterns without metacharacters by @lazerg in https://github.com/web-infra-dev/rspack/pull/15297 * perf(split-chunks): skip single-chunk used exports grouping by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15312 * perf(core): precompile filename templates cache by @intellild in https://github.com/web-infra-dev/rspack/pull/15195 ###### Bug Fixes 🐞 * fix: pass HMR error to Preact refresh recovery handler by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15179 * fix(cache): limit shutdown compaction to a single pass by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15188 * fix(types): add missing stats fields by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15206 * fix(css-extract): strip BOM from module content before concatenation by @doxxx93 in https://github.com/web-infra-dev/rspack/pull/15169 * fix(core): decouple incremental artifacts from cache! by @hardfist in https://github.com/web-infra-dev/rspack/pull/15229 * fix(asset): preserve ESM imports in module output for "preserve" importMode by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/15165 * fix(css): CSS module dashed identifier a _[Truncated at 4000 characters — full notes: https://github.com/web-infra-dev/rspack/releases/tag/v2.2.0]_