PackageTrack

npm ยท #4399

@rspack/binding-linux-x64-gnu

2.2.0web-infra-dev/rspack โ†—

Node binding for rspack

Release timeline

1117 releases since 2022
2023202420252026

Releases

  1. 2.2.026 Aug 2026
    Release notes

    What's Changed

    ๐ŸŽ‰ See Announcing Rspack 2.2 for more details.

    New Features ๐ŸŽ‰

    Performance ๐Ÿš€

    Bug Fixes ๐Ÿž

    • fix: pass HMR error to Preact refresh recovery handler by @chenjiahan in #15179
    • fix(cache): limit shutdown compaction to a single pass by @ahabhgk in #15188
    • fix(types): add missing stats fields by @chenjiahan in #15206
    • fix(css-extract): strip BOM from module content before concatenation by @doxxx93 in #15169
    • fix(core): decouple incremental artifacts from cache! by @hardfist in #15229
    • fix(asset): preserve ESM imports in module output for "preserve" importMode by @JSerFeng in #15165
    • fix(css): CSS module dashed identifier and composes edge cases by @intellild in #15223
    • fix: make Module.blocks and Module.dependencies fail gracefully while the module graph is under construction by @upupming in #15177
    • fix: preserve reexport call context in concatenation by @LingyuCoder in #15247
    • fix(cache): validate new cache version by @hardfist in #15237
    • fix(cache): use storage location for new cache by @hardfist in #15250
    • fix(ids): make compare_modules_by_pre_order_index_or_identifier a total order by @noyobo in #15260
    • fix: await async modules in ProvidePlugin by @HashemKhalifa in #15143
    • fix: refine binding code generation result error handling by @intellild in #15253
    • fix(resolver): restore tsconfig files as file dependencies by @stormslowly in #15264
    • fix: include factory-created server actions in RSC metadata by @nikhilsnayak in #15298

    Refactor ๐Ÿ”จ

    Document ๐Ÿ“–

    Other Changes

    New Contributors

    Full Changelog: v2.1.10...v2.2.0

    Open source โ†’
  2. 2.2.0-rc.021 Aug 2026pre-release
    Release notes

    What's Changed

    New Features ๐ŸŽ‰

    • feat: integrate module code generation to the new cache by @ahabhgk in #15194
    • feat(cache): add fine-grained new cache options by @hardfist in #15261

    Performance ๐Ÿš€

    • perf(paths): intern ArcPath as a single-allocation prehashed path by @stormslowly in #15205
    • perf: use rayon parallel scheduling for new cache db by @ahabhgk in #15251

    Bug Fixes ๐Ÿž

    • fix(css): CSS module dashed identifier and composes edge cases by @intellild in #15223
    • fix: make Module.blocks and Module.dependencies fail gracefully while the module graph is under construction by @upupming in #15177
    • fix: preserve reexport call context in concatenation by @LingyuCoder in #15247
    • fix(cache): validate new cache version by @hardfist in #15237
    • fix(cache): use storage location for new cache by @hardfist in #15250
    • fix(ids): make compare_modules_by_pre_order_index_or_identifier a total order by @noyobo in #15260
    • fix: await async modules in ProvidePlugin by @HashemKhalifa in #15143
    • fix: refine binding code generation result error handling by @intellild in #15253
    • fix(resolver): restore tsconfig files as file dependencies by @stormslowly in #15264

    Document ๐Ÿ“–

    Other Changes

    New Contributors

    Full Changelog: v2.2.0-beta.1...v2.2.0-rc.0

    Open source โ†’
  3. 2.2.0-beta.118 Aug 2026pre-release
    Release notes

    Highlights

    RSC: Client Component CSS now uses Flight preinit

    Rspack now emits Client Component exports as registered client references directly. CSS imported by a Client Component is no longer injected by wrapping its exports with generated <link> elements; the stylesheet is preinitialized from the React Flight payload instead. This preserves client-reference identity, including default, named, CommonJS, and non-component exports. Explicit link generation remains available through import.meta.rspackRsc.loadCss().

    This is a breaking change for RSC framework integrations. Upgrade react-server-dom-rspack to 0.1.0 and update any code that relies on the previous export-wrapper behavior.

    SWC 77: Wasm plugins must be rebuilt

    swc_core is upgraded from 76 to 77, which changes the serialized AST encoding across the SWC Wasm plugin boundary. Plugins compiled against an earlier SWC schema no longer load and the build fails with The version of the SWC Wasm plugin you're using might not be compatible with 'builtin:swc-loader'. Rebuild your plugin, or upgrade to an SWC 77 compatible release .

    Use plugins.swc.rs to find the plugin version matching your Rspack release, and see SWC plugin version mismatch for details. SWC 77 also introduces dedicated FunctionBody and ArrowFunctionBody::FunctionBody AST nodes, a breaking change for Rust-side consumers of the SWC AST.

    CSS Modules: standards-aligned Unicode identifiers

    CSS identifier escaping and unescaping now follow the CSS Syntax standard, so Unicode identifiers are emitted directly instead of carrying unnecessary backslashes.

    .๐Ÿ˜ {
      color: red;
    }

    now generates .style_modules_css-๐Ÿ˜ rather than .style_modules_css-\๐Ÿ˜.

    CSS Modules coverage also expands to more webpack cases โ€” local/global modes, generator options, ICSS @value, custom identifiers, and warning order โ€” and dependency collection moves into css-module-lexer, so stylesheets are no longer rescanned with regular expressions after parsing.

    What's Changed

    Breaking Changes ๐Ÿญ

    New Features ๐ŸŽ‰

    • feat: implement generation-based memory cache eviction by @ahabhgk in #15181
    • feat: add idle cache compaction with interruption handling by @ahabhgk in #15182
    • feat(css): improve unicode handling and support more css modules cases, boost performance by @intellild in #14809

    Performance ๐Ÿš€

    Bug Fixes ๐Ÿž

    • fix: pass HMR error to Preact refresh recovery handler by @chenjiahan in #15179
    • fix(cache): limit shutdown compaction to a single pass by @ahabhgk in #15188
    • fix(types): add missing stats fields by @chenjiahan in #15206
    • fix(css-extract): strip BOM from module content before concatenation by @doxxx93 in #15169
    • fix(core): decouple incremental artifacts from cache! by @hardfist in #15229
    • fix(asset): preserve ESM imports in module output for "preserve" importMode by @JSerFeng in #15165

    Refactor ๐Ÿ”จ

    Document ๐Ÿ“–

    Other Changes

    New Contributors

    Full Changelog: v2.1.10...v2.2.0-beta.1

    Open source โ†’
  4. 2.2.0-beta.018 Aug 2026pre-release

    Nothing published for this version

  5. 2.1.1013 Aug 2026
    Release notes

    Note

    Removed noisy import.meta warnings

    Rspack 2.1.9 introduced warnings for unknown import.meta properties. Because they proved overly noisy in real-world builds, Rspack 2.1.10 removes them to reduce unnecessary diagnostics for custom or runtime-specific extensions. See #15166 for detail.

    What's Changed

    New Features ๐ŸŽ‰

    Bug Fixes ๐Ÿž

    • fix(split-chunks): process remaining module copies at lower priorities by @JSerFeng in #15079
    • fix(esm_library): allow scope hoisting for new URL targets in new-url-relative mode by @elecmonkey in #15155
    • fix(deps): bump rkyv to 0.8.18 (fixes RUSTSEC-2026-0233/0234/0235) by @jesses-canva in #15156
    • fix(cli): normalize string context from loaded config by @stormslowly in #15162
    • fix: share ExternalModule hooks across core instances by @intellild in #15163
    • fix: new cache compile failed on 32-bit platforms by @ahabhgk in #15175

    Refactor ๐Ÿ”จ

    Document ๐Ÿ“–

    Other Changes

    New Contributors

    Full Changelog: v2.1.9...v2.1.10

    Open source โ†’
  6. 2.1.911 Aug 2026
    Release notes

    What's Changed

    New Features ๐ŸŽ‰

    Performance ๐Ÿš€

    Bug Fixes ๐Ÿž

    Refactor ๐Ÿ”จ

    Document ๐Ÿ“–

    Other Changes

    New Contributors

    Full Changelog: v2.1.8...v2.1.9

    Open source โ†’
  7. 2.1.84 Aug 2026
    Release notes

    Highlights

    Persistent cache storage options now align with webpack

    Rspack now supports cache.name and cache.storage.location, aligning with webpack's persistent cache semantics. cache.storage.directory is now the base directory, while the final cache location defaults to <directory>/<cache.name>. Default cache paths remain unchanged.

    If you previously used storage.directory as the exact cache path, migrate it to storage.location. Existing cache data is not migrated automatically.

    cache: {
      type: 'persistent',
      storage: {
        type: 'filesystem',
    -   directory: '/custom/cache',
    +   location: '/custom/cache',
      },
    }
    

    What's Changed

    New Features ๐ŸŽ‰

    • feat(rstest): inject module origin for import.meta.rstest by @9aoy in https://github.com/web-infra-dev/rspack/pull/15006
    • feat: align persistent cache storage options with webpack by @hardfist in https://github.com/web-infra-dev/rspack/pull/15049
    • feat(hmr): emit css.c / css.r in the hot-update manifest for precise CSS updates by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14682

    Performance ๐Ÿš€

    • perf: avoid cloning Lightning CSS stylesheet AST by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14982
    • perf: avoid cloning CSS module lists during ordering by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14984
    • perf(copy): offload asset reads by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15022
    • perf: share source across linking diagnostics by @hardfist in https://github.com/web-infra-dev/rspack/pull/15048

    Bug Fixes ๐Ÿž

    • fix(binding): preserve entry dependency identity by @matthewdavis-oai in https://github.com/web-infra-dev/rspack/pull/14964
    • fix(loader): preserve lightningcss license comments by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14980
    • fix(esm): add missing CJS interop runtime requirement by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14978
    • fix(runtime): avoid dead require bootstrap by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14991
    • fix(runtime): preserve collision-free createRequire imports by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14994
    • fix: clean up compilation-scoped plugin caches by @matthewdavis-oai in https://github.com/web-infra-dev/rspack/pull/14999
    • fix(rstest): hoist test API imports by source order by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15007
    • fix(binding): release custom runtime module generators on close by @SyMind in https://github.com/web-infra-dev/rspack/pull/15008
    • fix: preserve context exports in rspack runtime mode by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15001
    • fix(runtime): correct full-hash chunk filenames by @matthewdavis-oai in https://github.com/web-infra-dev/rspack/pull/14997
    • fix(copy-plugin): use POSIX asset keys by @matthewdavis-oai in https://github.com/web-infra-dev/rspack/pull/15015
    • fix(runtime): remove redundant runtime declarations by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14993
    • fix(worker): handle SharedWorker string name option by @elecmonkey in https://github.com/web-infra-dev/rspack/pull/15012
    • fix: avoid runtime scope conflicts in module factories by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15002
    • fix: preserve direct exports bindings by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15003
    • fix(dll): serialize buildMeta.defaultObject as redirect-warn by @tusharsingh308 in https://github.com/web-infra-dev/rspack/pull/15016
    • fix(json): match webpack source map behavior for generated modules by @matthewdavis-oai in https://github.com/web-infra-dev/rspack/pull/15014
    • fix: keep property name when global is used in object shorthand by @lazerg in https://github.com/web-infra-dev/rspack/pull/15054
    • fix: prevent compiler abort for exported rspackRequire by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15050

    Refactor ๐Ÿ”จ

    • refactor(binding): replace compilation pointers with compilation ids by @SyMind in https://github.com/web-infra-dev/rspack/pull/14988

    Document ๐Ÿ“–

    • docs: clarify optimization.nodeEnv defaults by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14976
    • docs: invite @swwind to Rspack core team by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14977
    • docs(binding): document JavaScript binding architecture by @SyMind in https://github.com/web-infra-dev/rspack/pull/14995
    • docs: document unsupported webpack CLI options by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15017
    • docs: improve webpack migration guidance by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15032
    • docs: clarify webpack plugin migration by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15033
    • docs(sources): add rspack_sources architecture guide by @SyMind in https://github.com/web-infra-dev/rspack/pull/15057

    Other Changes

    • chore(deps): update dependency @rslint/core to v0.7.2 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14936
    • chore(deps): update dependency toml to ^4.3.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14942
    • chore: remove obsolete pnpm configs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14987
    • chore: update shared Agent Skills by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14986
    • chore: migrate Git hooks to Rstack CLI by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14989
    • chore: migrate Rslint to Rstack CLI by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14990
    • chore: migrate Rslib and Rsbuild to Rstack CLI by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14992
    • chore: migrate Rstest and Rspress to Rstack CLI by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14998
    • chore: replace migration skill with eco-ci debugger by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15009
    • chore(deps): update dependency @rspress/core to ^2.0.19 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15029
    • chore(deps): update dependency @rstest/adapter-rspack to ^0.11.5 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15031
    • chore(deps): update dependency @module-federation/runtime-tools to v2.8.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15027
    • chore(deps): update dependency @ast-grep/napi to ^0.45.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15030
    • chore(deps): update dependency @rspack/lite-tapable to v1.1.5 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15028
    • chore(deps): update github-actions by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15026
    • chore: modernize Renovate configuration by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15040
    • chore(deps): update dependency memfs to v4.64.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15036
    • chore(deps): update dependency source-map to ^0.8.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15037
    • chore(deps): update dependency terser to v5.49.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15038
    • chore(deps): update dependency ts-checker-rspack-plugin to ^1.6.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15039
    • chore(renovate): group all npm patch updates by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15041
    • chore(deps): update dependency less to v4.8.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15045
    • chore(deps): update dependency markdown-to-jsx to ^9.10.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15046
    • chore(deps): update dependency @rstest/core to ^0.11.5 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15044
    • chore(deps): update dependency chalk to v6 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15043
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15042
    • chore(build): enable createRequire parser in Rslib builds by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/15058

    New Contributors

    • @tusharsingh308 made their first contribution in https://github.com/web-infra-dev/rspack/pull/15016
    • @lazerg made their first contribution in https://github.com/web-infra-dev/rspack/pull/15054

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.1.7...v2.1.8

    Open source โ†’
  8. 2.1.729 Jul 2026
    Release notes

    Notice: The import.meta.env experimental feature introduced in Rspack 2.1.6 has been removed in Rspack 2.1.7.

    What's Changed

    Performance ๐Ÿš€

    • perf: share source code across diagnostics by @hardfist in https://github.com/web-infra-dev/rspack/pull/14967

    Bug Fixes ๐Ÿž

    • fix: revert "feat: support import.meta.env" by @intellild in https://github.com/web-infra-dev/rspack/pull/14975
    • fix(binding): release module graph connection wrappers by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14965

    Other Changes

    • chore: release version 2.1.6 by @SyMind in https://github.com/web-infra-dev/rspack/pull/14966

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.1.6...v2.1.7

    Open source โ†’
  9. 2.1.628 Jul 2026
    Release notes

    What's Changed

    New Features ๐ŸŽ‰

    • feat: support import.meta.env by @intellild in https://github.com/web-infra-dev/rspack/pull/14483

    Performance ๐Ÿš€

    • perf: cache module concatenation analysis across roots by @ScriptedAlchemy in https://github.com/web-infra-dev/rspack/pull/14832
    • perf: reuse module concatenation search state by @ScriptedAlchemy in https://github.com/web-infra-dev/rspack/pull/14833
    • perf: reduce module concatenation hot-path overhead by @ScriptedAlchemy in https://github.com/web-infra-dev/rspack/pull/14834

    Bug Fixes ๐Ÿž

    • fix: materialize namespace object for concatenated modules by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14882
    • fix: parse preserved createRequire arguments by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14813
    • fix: invalidate module hashes when assigning deterministic and natural ids by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14878
    • fix: disable incremental chunk assets for entry fullhash filenames by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14890
    • fix: propagate asset emit errors by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14891
    • fix(asset): avoid JavaScript output for URL-only assets by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14885
    • fix(rslib): avoid worker external facade in bundleless output by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14900
    • fix: execute worker entry modules in modern-module output by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14876
    • fix(cli): preserve defineConfig inference by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14924
    • fix(swc-loader): preserve structured swc diagnostics by @SyMind in https://github.com/web-infra-dev/rspack/pull/14921
    • fix: respect DllPlugin context for concatenated modules by @hardfist in https://github.com/web-infra-dev/rspack/pull/14923
    • fix(ci): resolve the binary-size base for stacked PRs by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14903
    • fix(cache): scope maxVersions by compiler using compilerPath by @hardfist in https://github.com/web-infra-dev/rspack/pull/14954

    Refactor ๐Ÿ”จ

    • refactor(esm-library): remove redundant module marking by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14875
    • refactor(runtime): collect runtime module variables from templates by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14917
    • refactor(runtime): simplify modern-module output by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14741

    Document ๐Ÿ“–

    • docs: recommend TypeScript 7 for ts-checker-rspack-plugin by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14901
    • docs: refresh Rstack slogan by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14928
    • docs: mention Vue DevTools integration by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14932
    • docs: clarify resolve.modules behavior by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14953
    • docs: fix formatting in split-chunks-plugin.mdx by @davidjb in https://github.com/web-infra-dev/rspack/pull/14963

    Other Changes

    • chore(deps): update dependency @module-federation/runtime-tools to v2.8.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14848
    • chore(deps): update rust crate either to 1.16.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14693
    • test(module-concat): add concatenation benchmark baselines by @@ScriptedAlchemy in https://github.com/web-infra-dev/rspack/pull/14831
    • chore(ci): upload ci-profile binary size from main CI by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14868
    • chore(deps): upgrade Rslib to 1.0.0-beta.1 by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/14925
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14838
    • test: align defineConfig error assertions by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14930
    • chore(deps): manage TypeScript with pnpm catalogs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14931
    • chore(deps): migrate workspace deps to pnpm catalogs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14935
    • chore(deps): update dependency ts-checker-rspack-plugin to ^1.5.3 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14943
    • chore(deps): update dependency fs-extra to ^11.4.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14937
    • chore(deps): update dependency http-proxy-middleware to ^4.2.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14938
    • chore(deps): update dependency rspack-vue-loader to ^17.6.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14941
    • chore(deps): update dependency lint-staged to ^17.2.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14939
    • chore(deps): update dependency markdown-to-jsx to ^9.9.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14940

    New Contributors

    • @davidjb made their first contribution in https://github.com/web-infra-dev/rspack/pull/14963

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.1.5...v2.1.6

    Open source โ†’
  10. 2.1.521 Jul 2026
    Release notes

    What's Changed

    Bug Fixes ๐Ÿž

    • fix: respect runtime mode in mf identifiers by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14782
    • fix(rsc): preserve multiple referenced client exports by @SyMind in https://github.com/web-infra-dev/rspack/pull/14794
    • fix: preserve createRequire().resolve with literal import.meta.url when requireResolve is disabled by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14783
    • fix(css): preserve inline match resource imports by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14803
    • fix: short-circuit optional import.meta calls by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14806
    • fix(rsc): preserve exports for dynamic client references by @SyMind in https://github.com/web-infra-dev/rspack/pull/14807
    • fix(stats): avoid live chunk access when serializing stale stats by @SyMind in https://github.com/web-infra-dev/rspack/pull/14808
    • fix(rstest): register hoisted mocks before importActual imports by @fi3ework in https://github.com/web-infra-dev/rspack/pull/14810
    • fix(watcher): run FsWatcher on a single owner task to fix concurrent &mut races by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14829
    • fix(worker): add module type when options are omitted in module output by @elecmonkey in https://github.com/web-infra-dev/rspack/pull/14874
    • fix: include output path in chunk render cache keys by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14877
    • fix: support real content hash update hooks by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14660

    Refactor ๐Ÿ”จ

    • refactor(binding): remove compilation pointer from async dependency block by @SyMind in https://github.com/web-infra-dev/rspack/pull/14797
    • refactor(core): improve referenced export data struct by @SyMind in https://github.com/web-infra-dev/rspack/pull/14796

    Other Changes

    • chore(skills): add webpack test gap diff script by @intellild in https://github.com/web-infra-dev/rspack/pull/14805
    • chore: update Rsdoctor diff action version by @yifancong in https://github.com/web-infra-dev/rspack/pull/14812
    • chore(deps): update napi by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14837
    • chore(deps): update dependency @rslint/core to v0.7.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14849
    • chore: update simd-json and value-trait to fix stringify issue for CPUs without AVX/SSE4 capabilities by @intellild in https://github.com/web-infra-dev/rspack/pull/14828
    • chore: add rspack perf codspeed goal skill by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14550

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.1.4...v2.1.5

    Open source โ†’
  11. 2.1.414 Jul 2026
    Release notes

    Highlights

    Fine-grained import.meta parser options

    module.parser.javascript.importMeta now accepts an object so each known import.meta property can be configured independently, on top of the existing true / false / 'preserve-unknown' values. Properties set to false are preserved for runtime evaluation, omitted properties keep their default behavior, and unknown properties are preserved. Both webpack-compatible keys (dirname, filename, main, url, webpack, webpackContext) and Rspack-specific keys (rspackHash, rspackPublicPath, glob, ...) are supported.

    export default {
      module: {
        parser: {
          javascript: {
            importMeta: {
              // keep `import.meta.url` for runtime evaluation
              url: false,
              // keep the compile-time replacement of `import.meta.webpack`
              webpack: true,
            },
          },
        },
      },
    };
    

    Static worker URL output

    module.parser.javascript.worker now accepts an object form with alias and url, alongside the existing boolean and string[] forms. With url: 'new-url-relative' and output.module enabled, Rspack emits a static new URL() expression for new Worker(new URL(..., import.meta.url)) instead of runtime code, honoring output.publicPath and output.workerPublicPath.

    export default {
      output: {
        module: true,
        chunkFilename: '[name].bundle.js',
      },
      module: {
        parser: {
          javascript: {
            worker: {
              url: 'new-url-relative',
            },
          },
        },
      },
    };
    
    new Worker(new URL('./worker.js', import.meta.url));
    
    // would become ๐Ÿ‘‡
    new Worker(new URL('./worker.bundle.js', import.meta.url));
    

    What's Changed

    New Features ๐ŸŽ‰

    • feat(runtime): support logical assignment for chunk loading global by @fireairforce in https://github.com/web-infra-dev/rspack/pull/14655
    • feat: support persistent cache for module hashes by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14717
    • feat: support static worker new URL output by @intellild in https://github.com/web-infra-dev/rspack/pull/14728
    • feat: support fine-grained import.meta parser options by @intellild in https://github.com/web-infra-dev/rspack/pull/14631

    Performance ๐Ÿš€

    • perf(swc): enable parallel wasmtime compilation by @hardfist in https://github.com/web-infra-dev/rspack/pull/14716
    • perf(hook): reduce hook macro expansion size and optimize performance by @intellild in https://github.com/web-infra-dev/rspack/pull/14633
    • perf: optimize ESM linking passes by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14758
    • perf: deduplicate repeated dynamic reexport code by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14748

    Bug Fixes ๐Ÿž

    • fix(ci): pick binary-size base by build-triggering commit by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14715
    • fix: clean up runtime global rendering by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14735
    • fix(binding): clean up chunk wrappers when compiler is GCed by @SyMind in https://github.com/web-infra-dev/rspack/pull/14736
    • fix: enable runtime mode esm context imports by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14740
    • fix: revert Module Federation runtime identifiers by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14761
    • fix(fs): include paths in native filesystem errors by @hardfist in https://github.com/web-infra-dev/rspack/pull/14760
    • fix: respect RSPACK_BINDING in loader workers by @hardfist in https://github.com/web-infra-dev/rspack/pull/14775
    • fix: invalidate the target compiler for lazy compilation by @Kanary-channelio in https://github.com/web-infra-dev/rspack/pull/14781

    Refactor ๐Ÿ”จ

    • refactor(binding): avoid unsafe compilation access in chunk and module by @SyMind in https://github.com/web-infra-dev/rspack/pull/14671
    • refactor: avoid runtime module iife in rspack mode by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14700
    • refactor: colocate rspack runtime lexical globals by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14703
    • refactor: rename empty context helpers by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14733
    • refactor(cli): use @rstackjs/load-config by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14738
    • refactor: use rspack runtime identifiers by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14739
    • refactor: unify runtime globals render modes by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14762

    Other Changes

    • chore(ci): surface Windows Defender status after disable attempt by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14711
    • chore(ci): read binary-size data via authenticated API by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14730
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14751
    • chore(deps): update dependency @rslint/core to v0.6.5 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14749
    • chore(deps): update dependency @module-federation/runtime-tools to v2.7.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14752
    • chore(deps): update dependency webpack-sources to v3.5.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14750
    • revert: "feat: support persistent cache for module hashes" by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14763

    New Contributors

    • @Kanary-channelio made their first contribution in https://github.com/web-infra-dev/rspack/pull/14781

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.1.3...v2.1.4

    Open source โ†’
  12. 2.1.37 Jul 2026
    Release notes

    What's Changed

    New Features ๐ŸŽ‰

    • feat: add name/value accessors to ESMExportSpecifierDependency (#14641 by @yashwanth195)
    • feat(core): expose the real Chunk instance to filename functions (#14549 by @JSerFeng)

    Performance ๐Ÿš€

    • perf: erase js tap storage types to reduce binary size (#14636 by @intellild)
    • perf: build rspack source maps directly (#14621 by @intellild)
    • perf: optimize module hash creation (#14654 by @LingyuCoder)
    • perf(mangle_exports): pre-size per-module maps and vecs (#14705 by @stormslowly)

    Bug Fixes ๐Ÿž

    • fix: update runtime context during hot updates (#14644 by @LingyuCoder)
    • fix(concatenation): inline-value check must precede deferred pure checks (#14663 by @guru-irl)
    • fix(css): skip re-applying unchanged CSS during HMR (#14580 by @stormslowly)
    • fix(asset): preserve asset bytes for binary files (#14670 by @hardfist)
    • fix(css): dedupe link HMR stylesheets (#14666 by @intellild)
    • fix(mf): emit manifest assets with forward-slash names on Windows (#14667 by @johncarmack1984)
    • fix(esm_library): unwrap dynamic source-phase imports in modern-module output (#14673 by @elecmonkey)
    • fix(esm_library): preserve static source-phase external bindings (#14674 by @elecmonkey)
    • fix(bench): pin glibc string-func dispatch to stabilize simulation benches (#14704 by @stormslowly)
    • fix(css): distinguish css wrapper sourcemap names (#14675 by @intellild)
    • fix(binding): keep path data chunk compatible (#14698 by @JSerFeng)

    Refactor ๐Ÿ”จ

    • refactor: use rspack runtime module prefix (#14630 by @LingyuCoder)
    • refactor: split content hash from std Hash (#14384 by @intellild)
    • refactor: rename hash objects for clearer semantics (#14642 by @intellild)
    • refactor: use rspack scheme for source map defaults (#14635 by @LingyuCoder)
    • refactor(runtime): collect runtime writes from ejs define (#14651 by @LingyuCoder)
    • refactor(napi): remove napi tokio runtime dependency (#14696 by @hardfist)

    Other Changes

    • test: register misc bundle benchmark (#14632 by @hardfist)
    • chore(release): stream per-package publish output (#14585 by @stormslowly)
    • chore(deps): update github-actions (#14638 by @renovate[bot])
    • ci: replace rust-cache with sccache (TOS) on self-hosted runners (#14567 by @stormslowly)
    • ci: reset lynx-infra/cache action to d6bd70b (#14646 by @stormslowly)
    • chore(ci): run binary size limit on linux mini runner (#14648 by @stormslowly)
    • chore(ci): compare binary size against PR merge base (#14656 by @stormslowly)
    • test: isolate emit-isolated-dts case to fix cross-suite dts write race (#14659 by @stormslowly)
    • chore(deps): update github-actions (major) (#14639 by @renovate[bot])
    • chore(deps): update dependency @rslint/core to v0.6.4 (#14678 by @renovate[bot])
    • chore(deps): update patch npm dependencies (#14679 by @renovate[bot])
    • chore(deps): update dependency prettier to v3.9.4 (#14680 by @renovate[bot])
    • chore(deps): update rust crate tempfile to 3.27.0 (#14685 by @renovate[bot])
    • chore(deps): update rust crate unicase to 2.9.0 (#14686 by @renovate[bot])
    • chore(deps): update rust crate json-escape-simd to 3.1.0 (#14694 by @renovate[bot])
    • chore(deps): update rust crate derive_more to 2.1.1 (#14692 by @renovate[bot])
    • chore(deps): update rust crate clap to 4.6.1 (#14689 by @renovate[bot])
    • chore(deps): update rust crate bytes to 1.12.0 (#14688 by @renovate[bot])
    • chore(deps): update rust crate dashmap to 6.2.1 (#14691 by @renovate[bot])
    • chore(deps): update rust crate criterion to 4.7.0 (#14690 by @renovate[bot])
    • chore(deps): update napi to 3.10.3 (#14681 by @renovate[bot])
    • chore: bump swc_core from 71 to 72 (#14709 by @CPunisher)
    • chore(deps): bump rspack_resolver to 0.9.4 (#14710 by @stormslowly)

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.1.2...v2.1.3

    Open source โ†’
  13. 2.1.230 Jun 2026
    Release notes

    What's Changed

    Highlights ๐Ÿ’ก

    Support import.meta style module variables

    <!-- obsidian --><p>Rspack now exposes more module variables through <code>import.meta</code>, which aligns better with the ESM specification than CommonJS-style injected globals. When authoring ESM modules, <code>import.meta</code> is now the recommended way to access these runtime values.</p> <p>The newly supported <code>import.meta</code> properties are:</p>

    New import.meta API Existing runtime variable
    import.meta.rspackPublicPath __webpack_public_path__
    import.meta.rspackBaseUri __webpack_base_uri__
    import.meta.rspackShareScopes __webpack_share_scopes__
    import.meta.rspackInitSharing __webpack_init_sharing__
    import.meta.rspackNonce __webpack_nonce__
    import.meta.rspackUniqueId __rspack_unique_id__
    import.meta.rspackVersion __rspack_version__
    import.meta.rspackHash __webpack_hash__

    New Features ๐ŸŽ‰

    • feat: support import.meta style module variables (#14539 by @LingyuCoder)

    Performance ๐Ÿš€

    • perf: deduplicate runtime module macro glue (#14620 by @intellild)
    • perf: avoid cloning side effects artifact in module concatenation (#14622 by @hardfist)

    Bug Fixes ๐Ÿž

    • fix(browser): inject runtime require into browser MF runtime (#14590 by @CPunisher)
    • fix(ci): build wasm in release debug so the wasm binding gets published (#14614 by @stormslowly)
    • fix(rslib): preserve import phase in dynamic import external rendering (#14615 by @elecmonkey)
    • fix: empty references export for cjs and dynamic import tree shaking (#14629 by @ahabhgk)

    Document ๐Ÿ“–

    • docs: document asset/resource emit generator option (#14602 by @chenjiahan)
    • docs: document json parser parse option (#14606 by @chenjiahan)
    • docs: document more rule use options (#14610 by @chenjiahan)
    • docs: update module variable docs for import.meta (#14618 by @LingyuCoder)
    • docs: enable Rspress anchor checks (#14627 by @chenjiahan)

    Other Changes

    • chore(deps): update patch npm dependencies (#14595 by @renovate[bot])
    • chore(deps): update dependency @babel/preset-react to ^7.29.7 (#14597 by @renovate[bot])
    • chore(deps): update dependency @ast-grep/napi to ^0.44.0 (#14596 by @renovate[bot])
    • chore(deps): update dependency @rsbuild/core to v2.1.1 (#14603 by @renovate[bot])
    • chore(deps): update dependency @rspack/dev-server to ^2.1.0 (#14604 by @renovate[bot])
    • chore(deps): update dependency @shikijs/transformers to ^4.3.0 - autoclosed (#14605 by @renovate[bot])
    • chore(deps): update dependency mermaid to ^11.16.0 (#14607 by @renovate[bot])
    • chore(deps): update dependency ts-checker-rspack-plugin to ^1.5.1 (#14608 by @renovate[bot])
    • chore(deps): update dependency @rsbuild/plugin-sass to v2 (#14609 by @renovate[bot])
    • chore: remove obsolete perf agent skills (#14613 by @hardfist)

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.1.1...v2.1.2

    Open source โ†’
  14. 2.1.127 Jun 2026
    Release notes

    What's Changed

    New Features ๐ŸŽ‰

    • feat(rsdoctor): add dependencyId and loc to export usage edges by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14577

    Performance ๐Ÿš€

    • perf(devtool): add persistent cache for SourceMapDevToolPlugin by @SyMind in https://github.com/web-infra-dev/rspack/pull/14473

    Bug Fixes ๐Ÿž

    • fix(css): add guard for link.parentNode in css runtime by @BeiyanYunyi in https://github.com/web-infra-dev/rspack/pull/14566
    • fix: revert cjs export assignment side effects optimization by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14600

    Other Changes

    • docs: v2.1 release blog by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14527
    • refactor(runtime): structure runtime requirements by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14574
    • chore(deps): update dependency @rslint/core to v0.6.3 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14594
    • chore(deps): update dependency @module-federation/runtime-tools to v2.6.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14598

    New Contributors

    • @BeiyanYunyi made their first contribution in https://github.com/web-infra-dev/rspack/pull/14566

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.1.0...v2.1.1

    Open source โ†’
  15. 2.1.026 Jun 2026
    Release notes

    What's Changed

    ๐ŸŽ‰ See Announcing Rspack 2.1 for more details.

    New Features ๐ŸŽ‰

    • feat: expose module error JS API by @SyMind in https://github.com/web-infra-dev/rspack/pull/14351
    • feat(cache): log persistent cache read and write timings by @hardfist in https://github.com/web-infra-dev/rspack/pull/14314
    • feat(module_graph): expose getProvidedExports() to JS API by @logonoff in https://github.com/web-infra-dev/rspack/pull/14349
    • feat: support drop inactive branch dependencies for member expr by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14382
    • feat(runtime): introduce experimental.runtimeMode by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14254
    • feat: support branch guarded export presence for in on ESM imports by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14426
    • feat: bump swc to support react compiler by @CPunisher in https://github.com/web-infra-dev/rspack/pull/14435
    • feat(runtime): runtime internals of rspack runtime mode by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14427
    • feat(rsdoctor): expose export usage graph by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14291
    • feat: enable pureFunctions by default by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14465
    • feat(cache): add maxAge and maxGenerations for persistent cache cleanup by @matthewdavis-oai in https://github.com/web-infra-dev/rspack/pull/14296
    • feat: make persistent cache max generations default to 3 by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14534
    • feat: rename persistent cache maxGenerations to maxVersions by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14545
    • feat: harden persistent cache version cleanup with typed version by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14552
    • feat: support riscv64 targets by @swwind in https://github.com/web-infra-dev/rspack/pull/14447
    • feat(cache): make stale version cleanup fire-and-forget by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14564

    Performance ๐Ÿš€

    • perf: remove serde json by @SyMind in https://github.com/web-infra-dev/rspack/pull/14272
    • perf: use mask intersects instead of flag iteration for scope globals by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14353
    • perf: add ASCII fast path for dependency location column computation by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14355
    • perf: force DFA automaton for real content hash scanning by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14356
    • perf(core): reduce memcpy overhead by @hardfist in https://github.com/web-infra-dev/rspack/pull/14381
    • perf: reduce flag dependency usage key allocations by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14417
    • perf: reduce build chunk graph preparation work by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14421
    • perf(sources): avoid cloning source maps with borrowed fields by @SyMind in https://github.com/web-infra-dev/rspack/pull/14380
    • perf: optimize module concatenation traversal by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14422
    • perf(loader-runner): cache esm loader imports by @hardfist in https://github.com/web-infra-dev/rspack/pull/14434
    • perf(core): optimize resource parsing by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14456
    • perf(ci): drop redundant cargo check from rust CI by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14461
    • perf: avoid JavaScriptTracer overhead when tracing is disabled by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14468
    • perf(loader-runner): reduce loader object construction overhead by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14477
    • perf: optimize compilation entrypoints getter by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14485
    • perf: reduce asset wrapper overhead by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14487
    • perf(deps): bump camino to 1.2.3 by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14519
    • perf(ci): drop debuginfo from the whole ci profile by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14528
    • perf(core): reduce source map serialization overhead by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14547
    • perf(module-concat): prune readable identifier work by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14537
    • perf: reduce module ids assignment overhead by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14553

    Bug Fixes ๐Ÿž

    • fix: preserve inline source content for transform sourcemaps by @intellild in https://github.com/web-infra-dev/rspack/pull/14350
    • fix: remove webpackSource and webpackDefer magic comments by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14364
    • fix: apply global overrideStrict for ContextModule by @colinaaa in https://github.com/web-infra-dev/rspack/pull/14361
    • fix(watcher): filter ignored-subtree events that emit a spurious folder change by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14329
    • fix: use ChunkWithSizeInfo delimiter in maxInitialSize chunk naming fallback path by @wr40000 in https://github.com/web-infra-dev/rspack/pull/14331
    • fix: wait for in-flight build before closing compiler by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14377
    • fix(browser): point wasi-worker-browser export to dist file by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14415
    • fix(tree-shaking): handle nested pure function calls by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14375
    • fix: cherry-pick mf manifest expose assets by @2heal1 in https://github.com/web-infra-dev/rspack/pull/14339
    • fix: cache import.meta filename and dirname outside eval by @intellild in https://github.com/web-infra-dev/rspack/pull/14423
    • fix(pure-functions): keep deferred pure import callees by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14425
    • fix: improve createRequire argument parsing by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14424
    • fix(rstest): preserve mocks in module chunk loading by @9aoy in https://github.com/web-infra-dev/rspack/pull/14472
    • fix(rspack_watcher): prevent watch-root panic from orphaned path tree by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14448
    • fix(test): isolate source for fixture-writing config cases by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14462
    • fix: change default value of createRequire parsing to false by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14482
    • fix(types): align wasm loading types by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14506
    • fix(split-chunks): align max size grouping with webpack by @intellild in https://github.com/web-infra-dev/rspack/pull/14481
    • fix(rstest): fallback to automock for missing manual mocks by @9aoy in https://github.com/web-infra-dev/rspack/pull/14418
    • fix(css): preserve undeclared css module idents by @intellild in https://github.com/web-infra-dev/rspack/pull/14497
    • fix(mf): stabilize consume shared runtime output by @2heal1 in https://github.com/web-infra-dev/rspack/pull/14532
    • fix(cache): default context_dependencies snapshot strategy to timestamp by @hardfist in https://github.com/web-infra-dev/rspack/pull/14490
    • fix(core): support watcher events on native WatchFileSystem by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14404
    • fix: default html script loading to module for module output by @intellild in https://github.com/web-infra-dev/rspack/pull/14544
    • fix: parse preserved magic comments by @intellild in https://github.com/web-infra-dev/rspack/pull/14536
    • fix: preserve source phase for wasm externals by @intellild in https://github.com/web-infra-dev/rspack/pull/14494
    • fix: handle cjs export assignment side effects by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14260
    • fix(error): use theme-based styling instead of environment-sniffing dim() in graphical renderer by @ruanyl in https://github.com/web-infra-dev/rspack/pull/14561
    • fix: exclude for const/let in/of decl from hoisted decls by @swwind in https://github.com/web-infra-dev/rspack/pull/14287
    • fix(types): align SWC unsafe function option by @haakjunlee in https://github.com/web-infra-dev/rspack/pull/14134
    • fix(core): set rslib runtime chunk names by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/14575
    • fix(core): exclude node_modules files from require.context map by @fi3ework in https://github.com/web-infra-dev/rspack/pull/14576

    Refactor ๐Ÿ”จ

    • refactor(binding): consolidate module property definitions by @SyMind in https://github.com/web-infra-dev/rspack/pull/14365
    • refactor: remove unused unresolved context from pure checks by @CPunisher in https://github.com/web-infra-dev/rspack/pull/14433
    • refactor: merge webpack api parser plugins by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14529
    • refactor(core): remove unused TS exports by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14548

    Document ๐Ÿ“–

    • docs: document source phase imports by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14360
    • docs: fix optimization config types by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14370
    • docs: document split chunks options by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14371
    • docs: add Remotion to ecosystem by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14374
    • docs: update magic comment version and anchors by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14378
    • docs: update Vite comparison docs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14412
    • docs: update Rollup comparison docs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14413
    • docs: update rules use parallel type by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14416
    • docs: add instructions for unsupported platforms by @swwind in https://github.com/web-infra-dev/rspack/pull/14442
    • docs(website): fix Rspress summary style by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14449
    • docs: improve incremental config docs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14450
    • docs: add GitHub to who is using by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14474
    • docs: fix duplicate createRequire parser docs by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14486
    • docs: update React Compiler guide by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14496
    • docs: remove redundant javascript/auto type examples by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14499
    • docs: update ESM config examples by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14505
    • docs: fix entry config docs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14514
    • docs: fix module config types by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14515
    • docs: fix resolve config types by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14516
    • docs: fix stats config types by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14518
    • docs: document dev server options by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14523
    • docs: move cache migration guide by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14535
    • docs: improve cache option documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14540
    • docs: fix broken member links by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14563

    Other Changes

    • chore: release version 2.0.8 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14345
    • revert: "fix: temporarily revert JS parser changes causing runtime err" by @CPunisher in https://github.com/web-infra-dev/rspack/pull/14347
    • chore: add scope hoisting regression for for-init references by @CPunisher in https://github.com/web-infra-dev/rspack/pull/14352
    • chore(ci): update ecosystem ci action to v0.3.2 by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/14362
    • chore(ci): use mini runner to offload lightweight CI jobs by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14363
    • chore(ci): use mini runner for lint workflow by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14376
    • chore(deps): group emnapi renovate updates by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14390
    • chore(deps): update dependency terser-webpack-plugin to ^5.6.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14393
    • test(wasm): skip file-dependencies-huge to fix flaky afterAll timeout by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14399
    • chore(deps): update yarn to v4.16.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14396
    • chore(deps): update dependency http-proxy-middleware to ^4.1.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14392
    • chore(deps): update dependency rspack-merge to v1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14397
    • chore(deps): update dependency ts-checker-rspack-plugin to ^1.4.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14394
    • chore(deps): update dependency @rslint/core to v0.6.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14391
    • chore(deps): update dependency semver to ^7.8.4 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14408
    • chore(deps): update pnpm to v11.6.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14409
    • chore(deps): update dependency acorn to ^8.17.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14407
    • chore(deps): update patch crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14385
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14386
    • chore(deps): update react and @rspack/plugin-preact-refresh by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14406
    • chore: bump swc exp from 0.10.0 to 0.11.0 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/14379
    • chore(ci): split wasm release build into parallel wasi/browser jobs by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14414
    • chore(deps): update emnapi to v1.11.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14395
    • chore(deps): bump swc_ecma_minifier to 55.0.2 for template-literal minify fix by @pkasarda in https://github.com/web-infra-dev/rspack/pull/14428
    • chore: speed up crate release pipeline by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14429
    • chore(ci): use forked CodSpeed runner by @hardfist in https://github.com/web-infra-dev/rspack/pull/14432
    • chore: limit walltime bench triggers by @hardfist in https://github.com/web-infra-dev/rspack/pull/14441
    • chore: bump @rslint/core to 0.6.2 by @fansenze in https://github.com/web-infra-dev/rspack/pull/14470
    • ci: disable debuginfo for the windows ci binding build by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14479
    • chore: release v2.1.0-beta.0 by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14480
    • chore: remove codspeed js bench case by @SyMind in https://github.com/web-infra-dev/rspack/pull/14489
    • test(tree-shaking): lock in pureFunctions innerGraph deferred-pure-check behavior by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14488
    • chore(ci): pause portable cache check by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14492
    • chore(ci): align hookTimeout with testTimeout to fix flaky afterAll close timeout by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14498
    • chore(deps): update dependency http-proxy-middleware to v4.1.1 [security] by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14500
    • chore(deps): update dependency lint-staged to v17 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14504
    • chore(deps): update pnpm to v11.8.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14503
    • chore(deps): update dependency @rslib/core to ^0.23.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14501
    • chore(deps): remove unused axios dependency by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14507
    • chore(deps): update dependency enhanced-resolve to v5.24.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14512
    • chore(deps): update dependency webpack-sources to v3.5.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14513
    • chore(deps): bump rspack_resolver to 0.9.3 by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14521
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14510
    • chore(test): stabilize watch-detection on Windows with synchronous writes by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14520
    • test: replace non_webpack_require in tests by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14530
    • chore: bump swc_core from 68 to 71 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/14526
    • ci: upgrade rstack-ecosystem-ci actions to v0.3.3 by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14542
    • chore: walltime bench unbind to dedicated CPUs by @deanjingshui in https://github.com/web-infra-dev/rspack/pull/14543
    • chore: add webpack gap tracking skill by @intellild in https://github.com/web-infra-dev/rspack/pull/14557
    • chore: release version 2.1.0-rc.0 by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14546
    • chore: remove unused development commands by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14565
    • chore(ci): report rust cache utilization per platform build by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14559
    • chore(ci): set HOME for walltime bench codspeed runner install by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14569
    • ci: keep reproduction label until close by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14570
    • chore(skills): add release-blog-writer skill by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14571
    • chore(ci): lift rust cache utilization by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14568

    New Contributors

    • @wr40000 made their first contribution in https://github.com/web-infra-dev/rspack/pull/14331
    • @pkasarda made their first contribution in https://github.com/web-infra-dev/rspack/pull/14428
    • @swwind made their first contribution in https://github.com/web-infra-dev/rspack/pull/14442
    • @matthewdavis-oai made their first contribution in https://github.com/web-infra-dev/rspack/pull/14296
    • @ruanyl made their first contribution in https://github.com/web-infra-dev/rspack/pull/14561
    • @haakjunlee made their first contribution in https://github.com/web-infra-dev/rspack/pull/14134

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.0.8...v2.1.0

    Open source โ†’
  16. 2.1.0-rc.023 Jun 2026pre-release
    Release notes

    What's Changed

    New Features ๐ŸŽ‰

    • feat: make persistent cache max generations default to 3 by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14534

    Performance ๐Ÿš€

    • perf: optimize compilation entrypoints getter by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14485
    • perf: reduce asset wrapper overhead by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14487
    • perf(deps): bump camino to 1.2.3 by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14519
    • perf(ci): drop debuginfo from the whole ci profile by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14528

    Bug Fixes ๐Ÿž

    • fix(types): align wasm loading types by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14506
    • fix(split-chunks): align max size grouping with webpack by @intellild in https://github.com/web-infra-dev/rspack/pull/14481
    • fix(rstest): fallback to automock for missing manual mocks by @9aoy in https://github.com/web-infra-dev/rspack/pull/14418
    • fix(css): preserve undeclared css module idents by @intellild in https://github.com/web-infra-dev/rspack/pull/14497
    • fix(mf): stabilize consume shared runtime output by @2heal1 in https://github.com/web-infra-dev/rspack/pull/14532
    • fix(cache): default context_dependencies snapshot strategy to timestamp by @hardfist in https://github.com/web-infra-dev/rspack/pull/14490

    Refactor ๐Ÿ”จ

    • refactor: merge webpack api parser plugins by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14529

    Document ๐Ÿ“–

    • docs: fix duplicate createRequire parser docs by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14486
    • docs: update React Compiler guide by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14496
    • docs: remove redundant javascript/auto type examples by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14499
    • docs: update ESM config examples by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14505
    • docs: fix entry config docs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14514
    • docs: fix module config types by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14515
    • docs: fix resolve config types by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14516
    • docs: fix stats config types by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14518
    • docs: document dev server options by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14523
    • docs: move cache migration guide by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14535
    • docs: improve cache option documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14540

    Other Changes

    • chore: release v2.1.0-beta.0 by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14480
    • chore: remove codspeed js bench case by @SyMind in https://github.com/web-infra-dev/rspack/pull/14489
    • test(tree-shaking): lock in pureFunctions innerGraph deferred-pure-check behavior by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14488
    • chore(ci): pause portable cache check by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14492
    • chore(ci): align hookTimeout with testTimeout to fix flaky afterAll close timeout by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14498
    • chore(deps): update dependency http-proxy-middleware to v4.1.1 [security] by @renovate ๐Ÿค– in https://github.com/web-infra-dev/rspack/pull/14500
    • chore(deps): update dependency lint-staged to v17 by @renovate ๐Ÿค– in https://github.com/web-infra-dev/rspack/pull/14504
    • chore(deps): update pnpm to v11.8.0 by @renovate ๐Ÿค– in https://github.com/web-infra-dev/rspack/pull/14503
    • chore(deps): update dependency @rslib/core to ^0.23.0 by @renovate ๐Ÿค– in https://github.com/web-infra-dev/rspack/pull/14501
    • chore(deps): remove unused axios dependency by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14507
    • chore(deps): update dependency enhanced-resolve to v5.24.0 by @renovate ๐Ÿค– in https://github.com/web-infra-dev/rspack/pull/14512
    • chore(deps): update dependency webpack-sources to v3.5.0 by @renovate ๐Ÿค– in https://github.com/web-infra-dev/rspack/pull/14513
    • chore(deps): bump rspack_resolver to 0.9.3 by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14521
    • chore(deps): update patch npm dependencies by @renovate ๐Ÿค– in https://github.com/web-infra-dev/rspack/pull/14510
    • chore(test): stabilize watch-detection on Windows with synchronous writes by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14520
    • test: replace non_webpack_require in tests by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14530
    • chore: bump swc_core from 68 to 71 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/14526
    • Release 0.101.0-rc.0 by @LingyuCoder
    • chore(release): release 2.1.0-rc.0 by @LingyuCoder

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.1.0-beta.0...v2.1.0-rc.0

    Open source โ†’
  17. 2.1.0-beta.018 Jun 2026pre-release
    Release notes

    Highlights ๐Ÿ’ก

    Support React Compiler in builtin:swc-loader

    React projects can now use React Compiler directly through Rspack's built-in SWC loader. See the React Compiler guide for details.

    export default {
      module: {
        rules: [
          {
            test: /\.[cm]?[jt]sx?$/,
            loader: 'builtin:swc-loader',
            options: {
              jsc: {
                transform: {
                  reactCompiler: true,
                },
              },
            },
          },
        ],
      },
    };
    

    Side-effect-free function analysis by default

    Rspack's side-effect-free function analysis is now enabled by default in production builds. It can detect pure function calls through the #__NO_SIDE_EFFECTS__ notation and pureFunctions configuration, including exported functions across module boundaries. When the returned value is unused, Rspack can remove the call more reliably and improve tree shaking results without extra configuration. See experiments.pureFunctions for details.

    // lib.js
    /*@__NO_SIDE_EFFECTS__*/ 
    export function call() {
      console.log('hi')
    }
    
    // barrel.js
    import { call } from './lib'
    
    const value = call()
    
    // if value is unused, call can be removed
    export { value }
    

    <img width="873" height="479" alt="image" src="https://github.com/user-attachments/assets/44b3e233-18cc-4be0-b3b1-a1697c649424" />

    What's Changed

    New Features ๐ŸŽ‰

    • feat: expose module error JS API by @SyMind in https://github.com/web-infra-dev/rspack/pull/14351
    • feat(cache): log persistent cache read and write timings by @hardfist in https://github.com/web-infra-dev/rspack/pull/14314
    • feat(module_graph): expose getProvidedExports() to JS API by @logonoff in https://github.com/web-infra-dev/rspack/pull/14349
    • feat: support drop inactive branch dependencies for member expr by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14382
    • feat(runtime): introduce experimental.runtimeMode by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14254
    • feat: support branch guarded export presence for in on ESM imports by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14426
    • feat: bump swc to support react compiler by @CPunisher in https://github.com/web-infra-dev/rspack/pull/14435
    • feat(runtime): runtime internals of rspack runtime mode by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14427
    • feat(rsdoctor): expose export usage graph by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14291
    • feat: enable pureFunctions by default by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14465
    • feat(cache): add maxAge and maxGenerations for persistent cache cleanup by @matthewdavis-oai in https://github.com/web-infra-dev/rspack/pull/14296

    Performance ๐Ÿš€

    • perf: remove serde json by @SyMind in https://github.com/web-infra-dev/rspack/pull/14272
    • perf: use mask intersects instead of flag iteration for scope globals by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14353
    • perf: add ASCII fast path for dependency location column computation by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14355
    • perf: force DFA automaton for real content hash scanning by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14356
    • perf(core): reduce memcpy overhead by @hardfist in https://github.com/web-infra-dev/rspack/pull/14381
    • perf: reduce flag dependency usage key allocations by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14417
    • perf: reduce build chunk graph preparation work by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14421
    • perf(sources): avoid cloning source maps with borrowed fields by @SyMind in https://github.com/web-infra-dev/rspack/pull/14380
    • perf: optimize module concatenation traversal by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14422
    • perf(loader-runner): cache esm loader imports by @hardfist in https://github.com/web-infra-dev/rspack/pull/14434
    • perf(core): optimize resource parsing by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14456
    • perf(ci): drop redundant cargo check from rust CI by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14461
    • perf: avoid JavaScriptTracer overhead when tracing is disabled by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14468
    • perf(loader-runner): reduce loader object construction overhead by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14477

    Bug Fixes ๐Ÿž

    • fix: preserve inline source content for transform sourcemaps by @intellild in https://github.com/web-infra-dev/rspack/pull/14350
    • fix: remove webpackSource and webpackDefer magic comments by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14364
    • fix: apply global overrideStrict for ContextModule by @colinaaa in https://github.com/web-infra-dev/rspack/pull/14361
    • fix(watcher): filter ignored-subtree events that emit a spurious folder change by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14329
    • fix: use ChunkWithSizeInfo delimiter in maxInitialSize chunk naming fallback path by @wr40000 in https://github.com/web-infra-dev/rspack/pull/14331
    • fix: wait for in-flight build before closing compiler by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14377
    • fix(browser): point wasi-worker-browser export to dist file by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14415
    • fix(tree-shaking): handle nested pure function calls by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14375
    • fix: cherry-pick mf manifest expose assets by @2heal1 in https://github.com/web-infra-dev/rspack/pull/14339
    • fix: cache import.meta filename and dirname outside eval by @intellild in https://github.com/web-infra-dev/rspack/pull/14423
    • fix(pure-functions): keep deferred pure import callees by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14425
    • fix: improve createRequire argument parsing by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14424
    • fix(rstest): preserve mocks in module chunk loading by @9aoy in https://github.com/web-infra-dev/rspack/pull/14472
    • fix(rspack_watcher): prevent watch-root panic from orphaned path tree by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14448
    • fix(test): isolate source for fixture-writing config cases by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14462
    • fix: change default value of createRequire parsing to false by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14482

    Refactor ๐Ÿ”จ

    • refactor(binding): consolidate module property definitions by @SyMind in https://github.com/web-infra-dev/rspack/pull/14365
    • refactor: remove unused unresolved context from pure checks by @CPunisher in https://github.com/web-infra-dev/rspack/pull/14433

    Document ๐Ÿ“–

    • docs: document source phase imports by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14360
    • docs: fix optimization config types by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14370
    • docs: document split chunks options by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14371
    • docs: add Remotion to ecosystem by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14374
    • docs: update magic comment version and anchors by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14378
    • docs: update Vite comparison docs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14412
    • docs: update Rollup comparison docs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14413
    • docs: update rules use parallel type by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14416
    • docs: add instructions for unsupported platforms by @swwind in https://github.com/web-infra-dev/rspack/pull/14442
    • docs(website): fix Rspress summary style by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14449
    • docs: improve incremental config docs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14450
    • docs: add GitHub to who is using by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14474

    Other Changes

    • revert: "fix: temporarily revert JS parser changes causing runtime err" by @CPunisher in https://github.com/web-infra-dev/rspack/pull/14347
    • chore: add scope hoisting regression for for-init references by @CPunisher in https://github.com/web-infra-dev/rspack/pull/14352
    • chore(ci): update ecosystem ci action to v0.3.2 by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/14362
    • chore(ci): use mini runner to offload lightweight CI jobs by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14363
    • chore(ci): use mini runner for lint workflow by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14376
    • chore(deps): group emnapi renovate updates by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14390
    • chore(deps): update dependency terser-webpack-plugin to ^5.6.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14393
    • test(wasm): skip file-dependencies-huge to fix flaky afterAll timeout by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14399
    • chore(deps): update yarn to v4.16.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14396
    • chore(deps): update dependency http-proxy-middleware to ^4.1.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14392
    • chore(deps): update dependency rspack-merge to v1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14397
    • chore(deps): update dependency ts-checker-rspack-plugin to ^1.4.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14394
    • chore(deps): update dependency @rslint/core to v0.6.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14391
    • chore(deps): update dependency semver to ^7.8.4 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14408
    • chore(deps): update pnpm to v11.6.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14409
    • chore(deps): update dependency acorn to ^8.17.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14407
    • chore(deps): update patch crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14385
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14386
    • chore(deps): update react and @rspack/plugin-preact-refresh by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14406
    • chore: bump swc exp from 0.10.0 to 0.11.0 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/14379
    • chore(ci): split wasm release build into parallel wasi/browser jobs by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14414
    • chore(deps): update emnapi to v1.11.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14395
    • chore(deps): bump swc_ecma_minifier to 55.0.2 for template-literal minify fix by @pkasarda in https://github.com/web-infra-dev/rspack/pull/14428
    • chore: speed up crate release pipeline by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14429
    • chore(ci): use forked CodSpeed runner by @hardfist in https://github.com/web-infra-dev/rspack/pull/14432
    • chore: limit walltime bench triggers by @hardfist in https://github.com/web-infra-dev/rspack/pull/14441
    • chore: bump @rslint/core to 0.6.2 by @fansenze in https://github.com/web-infra-dev/rspack/pull/14470
    • ci: disable debuginfo for the windows ci binding build by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14479

    New Contributors

    • @wr40000 made their first contribution in https://github.com/web-infra-dev/rspack/pull/14331
    • @pkasarda made their first contribution in https://github.com/web-infra-dev/rspack/pull/14428
    • @swwind made their first contribution in https://github.com/web-infra-dev/rspack/pull/14442
    • @matthewdavis-oai made their first contribution in https://github.com/web-infra-dev/rspack/pull/14296

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.0.8...v2.1.0-beta.0

    Open source โ†’
  18. 2.0.810 Jun 2026
    Release notes

    What's Changed

    Bug Fixes ๐Ÿž

    • fix: temporarily revert JS parser changes causing runtime errors by @CPunisher in https://github.com/web-infra-dev/rspack/pull/14343

    Other Changes

    • chore: bind walltime bench to dedicated CPUs by @deanjingshui in https://github.com/web-infra-dev/rspack/pull/14336
    • chore(ci): update rsdoctor action by @yifancong in https://github.com/web-infra-dev/rspack/pull/14342

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.0.7...v2.0.8

    Open source โ†’
  19. 2.0.710 Jun 2026
    Release notes

    [!WARNING] v2.0.7 has been deprecated because it may generate incorrect Rspack build outputs.

    Please do not install or use v2.0.7. Upgrade to v2.0.8 instead, which was released as the fix for this issue.

    What's Changed

    New Features ๐ŸŽ‰

    • feat: add SyncModuleIdsPlugin by @intellild in https://github.com/web-infra-dev/rspack/pull/14243
    • feat(css): support CSS modules options container, function, grid and pure by @intellild in https://github.com/web-infra-dev/rspack/pull/14189
    • feat: support source phase import for WebAssembly modules by @magic-akari in https://github.com/web-infra-dev/rspack/pull/13864
    • feat(watcher): granularity-safe native watcher scan (watchpack FS_ACCURACY) by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14306
    • feat: better circular check plugin by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14319
    • feat: support rspack magic comment prefix by @intellild in https://github.com/web-infra-dev/rspack/pull/14323

    Performance ๐Ÿš€

    • perf(split-chunks): reduce module grouping overhead by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14209
    • perf(sources): preallocate source map mappings buffer by @SyMind in https://github.com/web-infra-dev/rspack/pull/14288
    • perf(module-graph): store dependencies in dense map by @hardfist in https://github.com/web-infra-dev/rspack/pull/14290
    • perf(core): use dense dependency id maps in module graph by @hardfist in https://github.com/web-infra-dev/rspack/pull/14322

    Bug Fixes ๐Ÿž

    • fix(copy): normalize glob common dir before adding as context dependency by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14257
    • fix: declarator nested webpack exports by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14253
    • fix(css): preserve import render conditions by @intellild in https://github.com/web-infra-dev/rspack/pull/14218
    • fix(lazy-compilation): reserve closure-library externals on inactive proxy by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14228
    • fix(css): align dashed idents with webpack by @intellild in https://github.com/web-infra-dev/rspack/pull/14261
    • fix: preserve shared fallback versions by @2heal1 in https://github.com/web-infra-dev/rspack/pull/14219
    • fix(library): implement JsonpLibraryPlugin for output.library.type: 'jsonp' by @logonoff in https://github.com/web-infra-dev/rspack/pull/14278
    • fix(watcher): carry dependency deltas across coalesced rebuilds by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14279
    • fix(rstest): support mocking dynamic import() of external modules by @fi3ework in https://github.com/web-infra-dev/rspack/pull/14247
    • fix(css): include local name in hash-only local idents by @intellild in https://github.com/web-infra-dev/rspack/pull/14334

    Refactor ๐Ÿ”จ

    • refactor: parse magic comments with swc by @intellild in https://github.com/web-infra-dev/rspack/pull/14264
    • refactor(devtool): propagate source map kind to generators by @intellild in https://github.com/web-infra-dev/rspack/pull/14283
    • refactor: swc exp for javascript parser plugin by @CPunisher in https://github.com/web-infra-dev/rspack/pull/14256

    Document ๐Ÿ“–

    • docs: add TanStack Start to ecosystem guide by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14259
    • docs(style): dark mode styling for website ApiMeta tag by @Copilot in https://github.com/web-infra-dev/rspack/pull/14262
    • docs: fix broken documentation links by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14316

    Other Changes

    • chore: scale threejs walltime benchmark input by @hardfist in https://github.com/web-infra-dev/rspack/pull/14250
    • chore(deps): update dependency @rstest/core to ^0.10.3 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14230
    • chore(deps): update dependency enhanced-resolve to v5.22.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14231
    • chore(deps): update dependency terser to v5.48.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14232
    • chore(deps): update dependency ws to ^8.21.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14233

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.0.6...v2.0.7

    Open source โ†’
  20. 2.0.62 Jun 2026
    Release notes

    Highlights

    React Server Components: enforce server-only / client-only boundaries

    RSC builds now validate the server-only and client-only marker packages. Importing a client-only module from a server-graph module (or a server-only module from a client-graph module) is reported as a diagnostic. This marker-package validation always runs and is independent of disableClientApiChecks, which now only scopes the React client-API checks.

    // server component (server graph)
    import 'client-only'; // โŒ reported: client-only imported in a server module
    
    // client component (client graph)
    import 'server-only'; // โŒ reported: server-only imported in a client module
    

    Expose DeterministicModuleIdsPlugin

    The webpack-compatible deterministic module id plugin is now exposed through the JS API as rspack.ids.DeterministicModuleIdsPlugin, giving you fine-grained control over module ids for long-term caching. It supports the webpack options test, maxLength, salt, fixedLength, and failOnConflict.

    const rspack = require('@rspack/core');
    
    module.exports = {
      optimization: { moduleIds: false },
      plugins: [
        new rspack.ids.DeterministicModuleIdsPlugin({
          maxLength: 5,
          failOnConflict: true,
        }),
      ],
    };
    

    CSS Modules: preserve composes cascade order

    CSS Modules now use a shared topological sort to keep the source order of composes, so composed declarations land in the output cascade in the order you authored them. This fixes subtle specificity surprises when composing local class names across modules.

    What's Changed

    New Features ๐ŸŽ‰

    • feat(rsc): validate server-only and client-only imports by @SyMind in https://github.com/web-infra-dev/rspack/pull/14190
    • feat(css): ensure CSS compose module order by @intellild in https://github.com/web-infra-dev/rspack/pull/14156
    • feat: expose DeterministicModuleIdsPlugin by @intellild in https://github.com/web-infra-dev/rspack/pull/14214

    Performance ๐Ÿš€

    • perf: reduce sourcemap benchmark overhead by @hardfist in https://github.com/web-infra-dev/rspack/pull/14186
    • perf(sources): lazily compute CachedSourceChunks source by @SyMind in https://github.com/web-infra-dev/rspack/pull/14202
    • perf(deps): bump rspack_resolver to 0.9.2 by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14192
    • perf(core): cache resolved module rule options by @intellild in https://github.com/web-infra-dev/rspack/pull/14158

    Bug Fixes ๐Ÿž

    • fix: remove wasmtime threads feature by @hardfist in https://github.com/web-infra-dev/rspack/pull/14199
    • fix: limit tsfn lifecycle to prevent memory leak by @SyMind in https://github.com/web-infra-dev/rspack/pull/13565
    • fix(pure-functions): keep deferred local dependencies by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14191
    • fix(lazy-compilation): clean up stale entry proxies on dynamic entry removal by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14170
    • fix: respect resolved external type in ESM rendering by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14180
    • fix(esm-library): support context chunk loading by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14144
    • fix(rspack_watcher): scan after registering the disk watcher to close a startup race by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14210
    • fix(esm-library): reuse inline export bindings by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14152
    • fix: infer modern-module cjs externals from target by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/14215

    Document ๐Ÿ“–

    • docs: recommend import.meta.glob for new code by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14220

    Other Changes

    • test(rsc): migrate RSC transform fixtures by @SyMind in https://github.com/web-infra-dev/rspack/pull/14183
    • chore: release version 2.0.5 by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14155
    • chore: migrate rspack_sources into rspack monorepo by @SyMind in https://github.com/web-infra-dev/rspack/pull/14193
    • chore(perf): isolate rspack_sources codspeed benchmark target by @SyMind in https://github.com/web-infra-dev/rspack/pull/14204
    • chore(deps): update dependency @ast-grep/napi to ^0.43.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14223
    • chore(deps): update dependency @rstest/adapter-rspack to ^0.10.3 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14225
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14222
    • chore(deps): update patch crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14056
    • chore(deps): update dependency @rslib/core to ^0.22.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14224
    • chore: add Rust CodSpeed walltime benchmark by @hardfist in https://github.com/web-infra-dev/rspack/pull/14216
    • chore(dep): css-module-lexer 0.0.16 โ†’ 0.0.15 by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14240
    • chore:Route Rust benchmarks to exclusive physical runner by @hardfist in https://github.com/web-infra-dev/rspack/pull/14245
    • chore: bump swc_exp and swc_core from 66 to 68 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/14241

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.0.5...v2.0.6

    Open source โ†’
  21. 2.0.528 May 2026
    Release notes

    Highlights

    Support import.meta.glob

    Rspack now supports import.meta.glob, a file-system import API already available in Vite and Turbopack. We chose to align with this ecosystem behavior.

    const pages = import.meta.glob('./pages/**/*.tsx', {
      eager: true,
      import: 'default',
      query: { layout: 'docs' },
      base: './pages',
    });
    

    More controllable CSS module parsing

    CSS modules can now control parsing for @import, animations, custom idents, and dashed idents through module.parser, so projects can match existing CSS Modules behavior more closely while migrating to Rspack.

    export default {
      module: {
        parser: {
          'css/module': {
            import: true,
            animation: true,
            customIdents: true,
            dashedIdents: true,
          },
        },
      },
    };
    

    What's Changed

    New Features ๐ŸŽ‰

    • feat(css): add supports import, animation, customIdents, and dashedIdents for CSS by @intellild in https://github.com/web-infra-dev/rspack/pull/14076
    • feat: optimize generated getter for const export by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14045
    • feat: implement import.meta.glob by @intellild in https://github.com/web-infra-dev/rspack/pull/13998
    • feat: support import option for import.meta.glob by @intellild in https://github.com/web-infra-dev/rspack/pull/14123
    • feat: support more import.meta.glob options by @intellild in https://github.com/web-infra-dev/rspack/pull/14129
    • feat: inline const for default export by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14117
    • feat: optimize getter for const export default by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14175

    Performance ๐Ÿš€

    • perf: extend release opt-level s for cold-path crates by @hardfist in https://github.com/web-infra-dev/rspack/pull/14085
    • perf: remove unnecessary async_trait usage by @hardfist in https://github.com/web-infra-dev/rspack/pull/14041
    • perf: remove unused graph roots edge sorting by @intellild in https://github.com/web-infra-dev/rspack/pull/14101
    • perf: reduce release binary size by @hardfist in https://github.com/web-infra-dev/rspack/pull/14103
    • perf: reduce release binding size by @hardfist in https://github.com/web-infra-dev/rspack/pull/14108
    • perf(javascript): reduce parser allocations by @hardfist in https://github.com/web-infra-dev/rspack/pull/14124
    • perf: optimize find graph roots by @intellild in https://github.com/web-infra-dev/rspack/pull/14106
    • perf: content into_string_lossy by @SyMind in https://github.com/web-infra-dev/rspack/pull/14121
    • perf(core): use dense storage for dependency connections by @hardfist in https://github.com/web-infra-dev/rspack/pull/14148
    • perf(resolver): reuse precomputed hash from rspack-resolver dependencies by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14120
    • perf(javascript): avoid cloning exports info during usage analysis by @hardfist in https://github.com/web-infra-dev/rspack/pull/14157

    Bug Fixes ๐Ÿž

    • fix(rsc): skip manifest runtime for worker entries by @SyMind in https://github.com/web-infra-dev/rspack/pull/14068
    • fix: annotate generated JSON.parse as pure by @hardfist in https://github.com/web-infra-dev/rspack/pull/14110
    • fix(rslib): align isolated dts diagnostics by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/14143
    • fix(rspack_watcher): keep mtime baseline persistent across watch() cycles by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14077
    • fix(esm-library): split runtime chunk for async chunks by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14142
    • fix: require swc helpers 0.5.22 by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14160
    • fix(esm-library): move async runtime split logic by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14159
    • fix(cli): block prototype-pollution payloads in --env parsing by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14165
    • fix: derive modern-module require external type from target by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14174
    • fix: update peer dependency of @swc/helpers to ^0.5.23 by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14176
    • fix: resolve external type in esm rendering by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14178
    • fix: compat es5 for define property getters runtime by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14177
    • fix(rstest): inject require.resolve origin by @9aoy in https://github.com/web-infra-dev/rspack/pull/14162
    • fix(rstest): support new runtime template by @9aoy in https://github.com/web-infra-dev/rspack/pull/14181

    Document ๐Ÿ“–

    • docs: add CSS module parser options by @intellild in https://github.com/web-infra-dev/rspack/pull/14096
    • docs: split module config docs by @intellild in https://github.com/web-infra-dev/rspack/pull/14099
    • docs: clarify module parser and generator options by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14111
    • docs: align blog authors display with other rstack wbesite by @elecmonkey in https://github.com/web-infra-dev/rspack/pull/14125
    • docs: invite @elecmonkey to Rspack core team by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14114
    • docs: fix CSS module defaults by @intellild in https://github.com/web-infra-dev/rspack/pull/14136
    • docs: document loader peer dependencies by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14137
    • docs: document plugin peer dependencies by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14139
    • docs(website): upgrade Tailwind CSS v4 with Rsbuild plugin by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14150

    Other Changes

    • test: remove jest-snapshot from test tools by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14112
    • chore(deps): reduce peer dependency installs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14115
    • test: add swc-loader build module graph benchmark by @hardfist in https://github.com/web-infra-dev/rspack/pull/14128
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14132
    • chore(deps): update dependency @module-federation/runtime-tools to v2.5.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14133
    • test: satisfy socket.dev security by @intellild in https://github.com/web-infra-dev/rspack/pull/14138
    • chore: upgrade swc_core from 66 to 67 by @hardfist in https://github.com/web-infra-dev/rspack/pull/14135
    • revert: "feat: optimize generated getter for const export" by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14151
    • revert: "revert: "feat: optimize generated getter for const export"" by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14153
    • Revert "chore: upgrade swc_core from 66 to 67" by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14168
    • Revert "fix: require swc helpers 0.5.22" by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14171
    • chore(deps): upgrade pnpm to 11.3.0 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14184

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.0.4...v2.0.5

    Open source โ†’
  22. 2.0.420 May 2026
    Release notes

    Highlights ๐Ÿ’ก

    • Inline const with module declarations (#14032): Previously, Rspack only inlined constant exports from leaf modules in the module graph. Now constant exports from any module can be inlined, even when that module also imports or re-exports other modules. In rare circular-reference cases this can make a TDZ error disappear, but we do not expect real projects to rely on TDZ errors, so Rspack prioritizes the optimization.

      // constants.js
      import './setup';
      
      export const ENABLE_EXPERIMENT = false;
      
      // entry.js
      import { ENABLE_EXPERIMENT } from './constants';
      
      if (ENABLE_EXPERIMENT) {
        runExperiment();
      }
      
      // Before: constants.js is not a leaf module, so the branch could keep
      // reading the imported binding.
      if (ENABLE_EXPERIMENT) {
        runExperiment();
      }
      
      // Now: the constant can still be inlined, so dead branches are easier
      // to remove.
      if (false) {
        runExperiment();
      }
      
    • Tree shake namespace default reexport (#13980): Previously, the import * as a from './a'; export default a; pattern did not tree-shake a through the default export. Now Rspack further analyzes the default-exported namespace object and can remove unused exports from the original namespace module.

      // a.js
      export function used() {}
      export function unused() {}
      
      // bridge.js
      import * as a from './a';
      export default a;
      
      // app.js
      import a from './bridge';
      
      a.used();
      
      // Before: both used and unused could be kept in the bundle.
      // Now: unused can be tree-shaken.
      
    • CSS global module type (#13988): css/global is useful when most selectors in a stylesheet should stay global, but you still want CSS Modules features for selected local selectors. This makes it easier to migrate existing global CSS gradually without turning every class name into a local scoped name.

      export default {
        module: {
          rules: [{ test: /\.global\.css$/i, type: 'css/global' }],
        },
      };
      
      /* style.global.css */
      .button {
        color: red;
      }
      
      :local(.title) {
        font-weight: 600;
      }
      

      .button stays global, while .title is renamed as a local class.

    • CSS Modules local ident options (#14009): CSS Modules now support local ident hash options such as hash function, digest, digest length, and salt. These options make generated class names more configurable and better aligned with webpack-compatible CSS Modules setups.

      export default {
        module: {
          rules: [{ test: /\.module\.css$/i, type: 'css/module' }],
          generator: {
            'css/module': {
              localIdentName: '[name]__[local]__[hash]',
              localIdentHashFunction: 'xxhash64',
              localIdentHashDigest: 'hex',
              localIdentHashDigestLength: 8,
              localIdentHashSalt: 'my-salt',
            },
          },
        },
      };
      

    What's Changed

    New Features ๐ŸŽ‰

    • feat(css): add support for css/global module type by @intellild in https://github.com/web-infra-dev/rspack/pull/13988
    • feat: tree shake namespace default reexport by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13980
    • feat: inline const with module declarations by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14032
    • feat(css): support CSS module local ident options by @intellild in https://github.com/web-infra-dev/rspack/pull/14009
    • feat: circular modules info plugin by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14031

    Performance ๐Ÿš€

    • perf: cache reserved name atom set by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14014
    • perf: optimize flag dependency usage by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14052
    • perf(cli): remove process title startup overhead by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14061
    • perf(deps): unify duplicate Rust dependencies to reduce binary size by @intellild in https://github.com/web-infra-dev/rspack/pull/14012
    • perf: improve split chunks cache group filtering by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14067
    • perf: optimize mangle exports plugin by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14048
    • perf(cli): lazy load json stream helpers by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14079
    • perf: optimize named id assignment by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14075

    Bug Fixes ๐Ÿž

    • fix(rsc): skip client entry mismatch without injections by @SyMind in https://github.com/web-infra-dev/rspack/pull/14018
    • fix(cli): write logger trace output to file by default by @hardfist in https://github.com/web-infra-dev/rspack/pull/14022
    • fix(ci): repair broken rustup shim chain on macos-latest by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14040
    • fix(stats): preserve sub-millisecond precision in logger time entries by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14049
    • fix: import.meta.filename/dirname escape on windows by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14050
    • fix(rsc): group client chunks by server-entry ownership by @SyMind in https://github.com/web-infra-dev/rspack/pull/13880
    • fix(rslib): emit type-only isolated dts dependencies by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/14037
    • fix(copy-plugin): support JS input file system for glob copies by @intellild in https://github.com/web-infra-dev/rspack/pull/14023
    • fix: keep buildHttp imports bundled for node target by @SyMind in https://github.com/web-infra-dev/rspack/pull/14086

    Document ๐Ÿ“–

    • docs: update config option types by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14060
    • docs: update runtime plugin hooks by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14069
    • docs(plugin-api): document module factory hooks by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14070
    • docs(cli): update cli option descriptions by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14071
    • docs(website): update core team profile by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14093

    Other Changes

    • security(ci): remove PR title lint workflow by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14016
    • chore: add local rust benchmark script by @hardfist in https://github.com/web-infra-dev/rspack/pull/14007
    • chore(ci): replace archived actions-rs/cargo with bare cargo invocations by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14017
    • chore: release version 2.0.3 by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14015
    • chore: add draft release notes skill by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14028
    • chore(build): fix empty napi-binding.d.ts on subsequent builds by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14027
    • chore: bump rslint to 0.5.3 by @fansenze in https://github.com/web-infra-dev/rspack/pull/14034
    • chore(deps): update swc crates by @hardfist in https://github.com/web-infra-dev/rspack/pull/14036
    • chore(skill): add rspack performance optimization skill by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14047
    • chore: upgrade swc from 64 to 66 by @hardfist in https://github.com/web-infra-dev/rspack/pull/14059
    • chore(deps): update dependency @codspeed/vitest-plugin to ^5.4.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14057
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14055
    • chore(deps): update dependency @playwright/test to v1.60.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14058
    • chore: bump patch of swc_core and swc_typescript by @CPunisher in https://github.com/web-infra-dev/rspack/pull/14066
    • test: add named ids codspeed benchmarks by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14074
    • chore(security): replace issues helper action by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14084
    • chore(deps): bump rstack ecosystem ci action by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14092

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.0.3...v2.0.4

    Open source โ†’
  23. 2.0.312 May 2026
    Release notes

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

    What's Changed

    Performance Improvements โšก

    • perf: reduce normal module creation and rule matching overhead by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13926
    • perf: disable perfetto tracing in release binding by @hardfist in https://github.com/web-infra-dev/rspack/pull/13932
    • perf: reduce parser dependency bookkeeping overhead by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13936
    • perf: reduce code splitter allocation and lookup overhead by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13968

    New Features ๐ŸŽ‰

    • feat: expose dependency import attributes by @hardfist in https://github.com/web-infra-dev/rspack/pull/13947
    • feat(rsc): support configurable CSS link props by @SyMind in https://github.com/web-infra-dev/rspack/pull/13945
    • feat(externals): add modern-module externals type by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13861
    • feat: support import.meta.rspackRsc by @SyMind in https://github.com/web-infra-dev/rspack/pull/13840
    • feat: drop inactive branch dependencies for inlined booleans by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13863
    • feat(sourcemap): support relative paths in inline source maps by @SyMind in https://github.com/web-infra-dev/rspack/pull/13974

    Bug Fixes ๐Ÿž

    • fix(cli): use rspack-merge for config extends by @intellild in https://github.com/web-infra-dev/rspack/pull/13869
    • fix(deps): revert mimalloc update by @hardfist in https://github.com/web-infra-dev/rspack/pull/13942
    • fix(hash): fix base64 digest and hash salt by @intellild in https://github.com/web-infra-dev/rspack/pull/13977
    • fix: align sync module rule resource matching by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13981
    • fix(ci): avoid browser e2e watcher by @hardfist in https://github.com/web-infra-dev/rspack/pull/13987

    Refactor ๐Ÿ”จ

    • refactor(rstest): expose injectDynamicImportOrigin.functionName and resolve callee once by @fi3ework in https://github.com/web-infra-dev/rspack/pull/13930
    • refactor: use rspack util base64 by @intellild in https://github.com/web-infra-dev/rspack/pull/13978
    • refactor(core): remove unused exports final name metadata by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14003

    Document Updates ๐Ÿ“–

    • docs: replace webpack-merge references with rspack-merge by @intellild in https://github.com/web-infra-dev/rspack/pull/13933
    • docs: correct terminology spelling by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13964
    • docs: update HTML plugin guide by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13970
    • docs(externals): add modern-module externals example by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13979
    • docs: update NestJS guide by @intellild in https://github.com/web-infra-dev/rspack/pull/13976
    • docs: invite @intellild to Rspack core team by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13986
    • docs: add Node app guide by @intellild in https://github.com/web-infra-dev/rspack/pull/13995

    Other Changes

    • chore: release v2.0.2 by @SyMind in https://github.com/web-infra-dev/rspack/pull/13922
    • chore(benchmark): remove swc loader from threejs case by @hardfist in https://github.com/web-infra-dev/rspack/pull/13881
    • ci: upload codspeed valgrind temp files by @hardfist in https://github.com/web-infra-dev/rspack/pull/13879
    • chore: bump rslint to 0.5.2 by @fansenze in https://github.com/web-infra-dev/rspack/pull/13931
    • chore: enable Rslint for more packages and fix lint issues by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13934
    • chore: enable Rslint JS recommended rules by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13938
    • chore: disable renovate updates for mimalloc by @hardfist in https://github.com/web-infra-dev/rspack/pull/13949
    • ci: remove unused team label workflow by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13950
    • test: configure rayon for codspeed benchmarks by @hardfist in https://github.com/web-infra-dev/rspack/pull/13954
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13959
    • chore(deps): update rust crate tokio to 1.52.3 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13961
    • chore(deps): update pnpm to v10.33.4 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13960
    • chore: enable tsgo for dts generation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13952
    • test(benchmark): disable spawn blocking for codspeed by @hardfist in https://github.com/web-infra-dev/rspack/pull/13958
    • chore: use mimalloc for codspeed benchmark allocator by @hardfist in https://github.com/web-infra-dev/rspack/pull/13966
    • test: split compilation stage benchmarks by @hardfist in https://github.com/web-infra-dev/rspack/pull/13969
    • test: split benchmark case entrypoints by @hardfist in https://github.com/web-infra-dev/rspack/pull/13971
    • test: print benchmark compilation errors by @hardfist in https://github.com/web-infra-dev/rspack/pull/13984
    • chore: bump swc from 65.0.1 to 65.0.4 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13985
    • chore(deps): update dependency mermaid to v11.15.0 [security] by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13997
    • chore(deps): tighten pnpm install safeguards by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14005
    • security(release): drop .npmrc NPM_TOKEN write, rely on npm trusted publishing by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14011
    • chore(ci): pin actions/{download,upload}-artifact to immutable SHAs by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14001

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.0.2...v2.0.3

    Open source โ†’
  24. 2.0.26 May 2026
    Release notes

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

    What's Changed

    Performance Improvements โšก

    • perf(split-chunks): lazily precompute sorted modules for compare by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13854
    • perf(split-chunks): batch split chunk runtime updates by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13859
    • perf(split-chunks): optimize module chunk lookup by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13873
    • perf(build): reduce binding size with size-optimized Wasmtime crates by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/13877

    New Features ๐ŸŽ‰

    • feat: add logging for persistent cache validation info by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13855
    • feat(rslib): support emit isolated declarations by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/13872
    • feat(create-rspack): support rslint template mapping by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13882
    • feat(rstest): inject source-module origin into dynamic imports by @fi3ework in https://github.com/web-infra-dev/rspack/pull/13849

    Bug Fixes ๐Ÿž

    • fix: handle weak dynamic imports without async chunks by @hardfist in https://github.com/web-infra-dev/rspack/pull/13848
    • fix(source-maps): avoid loader request in lightningcss source maps by @zalishchuk in https://github.com/web-infra-dev/rspack/pull/13830
    • fix(rsc): handle server component css by server entry scope by @SyMind in https://github.com/web-infra-dev/rspack/pull/13844
    • fix: sort ConcatenatedModule export keys for deterministic builds by @mango766 in https://github.com/web-infra-dev/rspack/pull/13425
    • fix: use index maps for concatenated export rendering by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13875
    • fix(core): ignore optional hono type imports by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13883
    • fix(rsc): scope server-entry CSS collection by entry by @SyMind in https://github.com/web-infra-dev/rspack/pull/13878
    • fix(rslib): make isolated dts metadata relative by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/13884
    • fix(deps): update http-proxy-middleware to 4.0.0-beta.6 by @Darshan808 in https://github.com/web-infra-dev/rspack/pull/13909
    • fix(plugin-library): skip unused exports in ModuleLibraryPlugin by @SAY-5 in https://github.com/web-infra-dev/rspack/pull/13920
    • fix: expose numeric chunk ids in JS APIs by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13839
    • fix(rsc): support void onServerComponentChanges callbacks by @SyMind in https://github.com/web-infra-dev/rspack/pull/13885
    • fix: align module external remapping with webpack by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13802

    Document Updates ๐Ÿ“–

    • docs: Add Shakapacker to Ecosystem (Ruby on Rails) by @cody-elhard in https://github.com/web-infra-dev/rspack/pull/13866
    • docs: sync Shakapacker ecosystem docs to zh by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13867
    • docs: fix Modern.js links by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13868
    • docs: add TanStack Router to ecosystem by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13870
    • docs: sort config options sidebar by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13874
    • docs(faq): remove outdated React Server Components support section by @lajczi in https://github.com/web-infra-dev/rspack/pull/13898
    • docs: sync zh FAQ with RSC update by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13902
    • docs: add webpack package replacements by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13910
    • docs: replace storybook roadmap link with migration guide by @fi3ework in https://github.com/web-infra-dev/rspack/pull/13923
    • docs: clarify splitChunks name function by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13928

    Other Changes

    • chore: move check source changed jobs to self-hosted runner by @hardfist in https://github.com/web-infra-dev/rspack/pull/13862
    • chore: release version 2.0.1 by @intellild in https://github.com/web-infra-dev/rspack/pull/13860
    • chore(benchmark): disable minimize for bundle codspeed by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13871
    • chore(deps): update dependency happy-dom to ^20.9.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13833
    • chore(deps): update dependency toml to v4 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13892
    • chore(deps): update dependency image-minimizer-webpack-plugin to v5 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13891
    • chore(deps): update dependency lint-staged to ^16.4.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13887
    • chore(deps): update dependency @module-federation/runtime-tools to v2.4.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13886
    • chore(deps): update dependency cspell to v10 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13897
    • chore(deps): update dependency @shikijs/transformers to v4 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13896
    • chore(deps): update dependency mermaid to ^11.14.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13894
    • chore(deps): update dependency terser-webpack-plugin to ^5.5.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13889
    • chore(deps): update dependency ws to ^8.20.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13895
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13900
    • build: replace webpack-merge with rspack-merge by @intellild in https://github.com/web-infra-dev/rspack/pull/13907
    • chore(deps): update rust crate rayon to 1.12.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13904
    • chore(deps): update rust crate oneshot to 0.2.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13903
    • chore(deps): update dependency exit-hook to v5 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13906
    • chore(deps): update yarn to v4.14.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13905
    • chore(deps): update dependency memfs to v4.57.2 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13888
    • chore(deps): update dependency watchpack to v2.5.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13890
    • chore(deps): update dependency axios to ^1.16.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13911
    • chore(deps): update rust crate hashlink to 0.11.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13912
    • chore(deps): update rust crate indexmap to 2.14.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13913
    • chore(deps): remove http-proxy-middleware dts patch by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13919
    • chore(deps): update dependency @discoveryjs/json-ext to v1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13916
    • chore(deps): update napi by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13899

    New Contributors

    • @zalishchuk made their first contribution in https://github.com/web-infra-dev/rspack/pull/13830
    • @cody-elhard made their first contribution in https://github.com/web-infra-dev/rspack/pull/13866
    • @mango766 made their first contribution in https://github.com/web-infra-dev/rspack/pull/13425
    • @lajczi made their first contribution in https://github.com/web-infra-dev/rspack/pull/13898
    • @Darshan808 made their first contribution in https://github.com/web-infra-dev/rspack/pull/13909
    • @SAY-5 made their first contribution in https://github.com/web-infra-dev/rspack/pull/13920

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.0.1...v2.0.2

    Open source โ†’
  25. 2.0.128 Apr 2026
    Release notes

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

    What's Changed

    Performance Improvements โšก

    • perf(concatenate): optimize scope-hoisting build hot paths by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13759
    • perf: reduce string churn across identifiers, ids, and runtime helpers by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13788
    • perf: reuse cached module dependency lists in finish_modules by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13808
    • perf: reduce code splitter and module reference overhead by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13816
    • perf: reduce split chunks allocation overhead by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13842

    New Features ๐ŸŽ‰

    • feat: rsc entry debug comments by @SyMind in https://github.com/web-infra-dev/rspack/pull/13812
    • feat(pure-functions): accept any top-level binding and trust consumer-side hints by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13810

    Bug Fixes ๐Ÿž

    • fix: module hash exports type hash should stable by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13796
    • fix: exports info update hash should stable by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13798
    • fix(esm): rewrite evaluated in operator for externals by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13803
    • fix(cli): bundle published declaration files by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13807
    • fix: align http-proxy-middleware with @rspack/dev-server by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13822
    • fix(cli): respect devServer port in preview by @Sylar-W in https://github.com/web-infra-dev/rspack/pull/13838
    • fix: enable module static cache in development by @hardfist in https://github.com/web-infra-dev/rspack/pull/13856

    Refactor ๐Ÿ”จ

    • refactor: make parser_and_generator readonly by @hardfist in https://github.com/web-infra-dev/rspack/pull/13785
    • refactor: remove prefetch functions for exports info by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13817
    • refactor: cache logging to use atomic logger counters by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13825

    Document Updates ๐Ÿ“–

    • docs(blog): add Rspack 2.0 release posts by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13703
    • docs(blog): add Rsbuild 2.0 announcement links by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13789
    • docs: enable announcement banner by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13790
    • docs: refresh README docs and benchmark links by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13791
    • docs(blog): upgrade rstack-doc-ui version by @SoonIter in https://github.com/web-infra-dev/rspack/pull/13792
    • docs: update blog authors and member avatars by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13815
    • docs: clarify resolve.roots migration guide by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13819
    • docs: fix wrong nested module rule example for strict this context by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13824
    • docs: clarify dev server usage by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13847
    • docs: clarify externalsType defaults by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13845

    Other Changes

    • chore(watcher): log raw fs events from notify in disk watcher by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13778
    • chore(deps): bump Rslint to 0.5.0 by @fansenze in https://github.com/web-infra-dev/rspack/pull/13793
    • chore(ci): remove bench result check from CI by @hardfist in https://github.com/web-infra-dev/rspack/pull/13800
    • ci: disable Windows CPU hogs to speed up CI by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13722
    • test(bench): make fast_set synchronous under codspeed by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13811
    • chore: document loader getOptions query string parsing by @hardfist in https://github.com/web-infra-dev/rspack/pull/13823
    • chore(ci): add 40min timeout to ecosystem CI per commit job by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13809
    • chore(deps): update pnpm to v10.33.2 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13829
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13828
    • chore(deps): update github-actions by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13826
    • chore: Revert "chore: move check-changed job to namespace" by @hardfist in https://github.com/web-infra-dev/rspack/pull/13835
    • chore: move wasm test to self-hosted runner by @hardfist in https://github.com/web-infra-dev/rspack/pull/13836
    • chore: move bench job to github runner by @hardfist in https://github.com/web-infra-dev/rspack/pull/13837
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13831
    • chore(deps): update dependency enhanced-resolve to v5.21.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13832
    • chore(deps): update patch crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13827
    • chore: bump @rslint/core to 0.5.1 by @fansenze in https://github.com/web-infra-dev/rspack/pull/13850
    • test: reduce persistent cache bench output variance by @hardfist in https://github.com/web-infra-dev/rspack/pull/13852
    • chore: upgrade swc_core from 64 to 65 by @hardfist in https://github.com/web-infra-dev/rspack/pull/13857

    New Contributors

    • @Sylar-W made their first contribution in https://github.com/web-infra-dev/rspack/pull/13838

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.0.0...v2.0.1

    Open source โ†’
  26. 2.0.022 Apr 2026
    Release notes

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

    โšก๏ธ Rspack 2.0 Released! โšก๏ธ


    What's Changed

    Breaking Changes ๐Ÿ› 

    • feat!: remove experiments.SubResourceIntegrityPlugin by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12642
    • feat!: remove experiments.rspackFuture and move bundlerInfo to output by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12654
    • feat!: remove experiments.parallelLoader by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12658
    • feat!: remove profile and stats.profile by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12662
    • feat!: enable verbatimModuleSyntax of builtin:swc-loader by default by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12668
    • feat!: remove rspack.experiments.lazyCompilationMiddleware by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12736
    • feat!: remove deprecated WarnCaseSensitiveModulesPlugin by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12737
    • feat!: remove deprecated draft option from LightningCSS minimizer by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12740
    • feat!: remove deprecated cssHeadDataCompression option by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12741
    • feat!: remove deprecated output library fields by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12745
    • feat!: make @rspack/dev-server an optional peer dependency by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12750
    • feat!: use rspackChunk as default value of chunkLoadingGlobal by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12779
    • feat!: disable requireAsExpression by default by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12786
    • feat!: use "rspack" as default trustedTypes policy name by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12799
    • feat!: remove sri option of HtmlRspackPlugin by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12651
    • feat!: remove output.charset by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12660
    • feat!: disable .swcrc reading in JavaScript compiler by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12667
    • feat!: remove deprecated getHooks method from plugins by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12738
    • feat!: Rspack off modules and assets in normal stats by @SyMind in https://github.com/web-infra-dev/rspack/pull/12701
    • feat!: default loader/plugin target by rspack target by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12752
    • feat!: use rspackHotUpdate as default hotUpdateGlobal by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12774
    • feat!: enable css by default by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12744
    • feat!: default targets for loader/plugin derived by rspack target, part 2 by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12780
    • feat!: do not expose EsmLibraryPlugin to user directly, use modern-module instead by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12792
    • feat!: revert enable verbatimModuleSyntax by @hardfist in https://github.com/web-infra-dev/rspack/pull/12846
    • feat!: remove experiments.outputModule config by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12912
    • feat!: change default value for devtool by @SyMind in https://github.com/web-infra-dev/rspack/pull/12934
    • feat!: default resolve roots to empty array by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13273
    • feat!: remove .wasm from default js extensions by @hardfist in https://github.com/web-infra-dev/rspack/pull/13321
    • feat!: remove 'webpack' from default CSS import conditions by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13348
    • feat!: change exports presence default to true by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13002
    • feat!: Add pnp_manifest option to resolver by @smeng9 in https://github.com/web-infra-dev/rspack/pull/12417
    • feat(swc-loader)!: move rspackExperiments.import to top-level transformImport by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13345
    • feat(pnp)!: drop multi yarn pnp project resolving by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13389
    • feat!: disable bundlerInfo force by default by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13599
    • feat(progress-plugin)!: replace handler rest args with structured info object by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13049
    • fix!: remove unsafe cache by @SyMind in https://github.com/web-infra-dev/rspack/pull/12892
    • fix!: remove debug hash algorithm by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12951
    • fix!: remove deprecated readResourceForScheme hook by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13027
    • fix!: remove unconsumed useless optimization.removeAvailableModules config option by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13317
    • refactor!: remove default exports in hot modules by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/13213
    • refactor!: drop support for Node 18 by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/12739
    • refactor!: drop CommonJS build and transition to pure ESM package by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/12733
    • refactor!: move incremental option from experiments to top-level config by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12793
    • refactor(browser)!: remove rspack_browser crate and require @rspack/browser to run in a Worker by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13712
    • refactor!: use strictThisContextOnImports to control ns obj as this by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13234

    Performance Improvements โšก

    • perf: remove ropey crate to reduce binary size by @SyMind in https://github.com/web-infra-dev/rspack/pull/12433
    • perf: optimize require regex compilation using static LazyLock by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12944
    • perf: try fix mf performance regression by @hardfist in https://github.com/web-infra-dev/rspack/pull/12958
    • perf: Cache default context regexp for parser plugins by @hardfist in https://github.com/web-infra-dev/rspack/pull/13024
    • perf: Enable more Clippy performance checks and reduce redundant clones by @hardfist in https://github.com/web-infra-dev/rspack/pull/13069
    • perf: remove unused env call by @hardfist in https://github.com/web-infra-dev/rspack/pull/13080
    • perf: use slotmap for scope info by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13101
    • perf: optimize DependencyLocation computation with incremental caching by @SyMind in https://github.com/web-infra-dev/rspack/pull/13109
    • perf: Convert dependent full hash hook to sync with rayon support by @hardfist in https://github.com/web-infra-dev/rspack/pull/13130
    • perf: Replace OverlayMap with RollbackAtomMap in exports artifact by @hardfist in https://github.com/web-infra-dev/rspack/pull/13143
    • perf: remove ProcessUnlazyDependenciesTask by @hardfist in https://github.com/web-infra-dev/rspack/pull/13151
    • perf: reduce content hash and lazy filename tempate ctx compute by @SyMind in https://github.com/web-infra-dev/rspack/pull/13156
    • perf: by json-escape-simd by @SyMind in https://github.com/web-infra-dev/rspack/pull/13183
    • perf: Add smallvec-backed member chains by @hardfist in https://github.com/web-infra-dev/rspack/pull/13227
    • perf: improve find_new_name by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13209
    • perf(regex): enable case-insensitive endsWith fast path by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13232
    • perf: reduce replace source string alloc by @SyMind in https://github.com/web-infra-dev/rspack/pull/13150
    • perf: improve data structure by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13259
    • perf(core): cache ModuleId hash by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13264
    • perf: use UkeySet or IdentifierSet for graph and plugin collections by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13266
    • perf: remove ukey collections by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13309
    • perf: replace unnecessary usize and u64 with u32 by @hardfist in https://github.com/web-infra-dev/rspack/pull/13338
    • perf: dyn lint for default hash by @SyMind in https://github.com/web-infra-dev/rspack/pull/13346
    • perf: parser hook plugins by @SyMind in https://github.com/web-infra-dev/rspack/pull/13373
    • perf(esm-lib): optimize ESM library rendering performance by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13334
    • perf(build_chunk_graph): optimize data structures in code splitter by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13403
    • perf: rspack_storage parallel write by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/13407
    • perf(core): reduce target resolution overhead by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13513
    • perf(javascript): cache non-nested export target lookups by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13545
    • perf(rspack-sources): perf potential tokens and source map to json by @SyMind in https://github.com/web-infra-dev/rspack/pull/13497
    • perf: modules should use IdentifierHasher by @SyMind in https://github.com/web-infra-dev/rspack/pull/13601
    • perf(code-splitting): reuse side effects evaluation state by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13668
    • perf: trace hook interception only pays off once global tracing is already on by @SyMind in https://github.com/web-infra-dev/rspack/pull/13689
    • perf: Replace parser hook dispatch SmallVecs with bitmasks by @hardfist in https://github.com/web-infra-dev/rspack/pull/13774

    New Features ๐ŸŽ‰

    • feat: improve external module rendering by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12813
    • feat: builtin react server component by @SyMind in https://github.com/web-infra-dev/rspack/pull/12012
    • feat: expose dependency loc to js by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12840
    • feat: add cache.portable configuration by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/12842
    • feat: support import.defer() for statical path by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12900
    • feat(rstest): only handle global variables when globals is true by @9aoy in https://github.com/web-infra-dev/rspack/pull/12921
    • feat: add beforeModuleIds hook by @hamlim in https://github.com/web-infra-dev/rspack/pull/12809
    • feat: support import.defer() for context module by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12938
    • feat: support MF share treeshake by @2heal1 in https://github.com/web-infra-dev/rspack/pull/12250
    • feat: make license banner comment more concise by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12960
    • feat: preserve tla expr for EsmLibrary by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12942
    • feat: add support for readonly persistent cache by @cellison-figma in https://github.com/web-infra-dev/rspack/pull/12902
    • feat(css): introduce resolveImport parser option for css parser to choose whether to resolve @import syntax by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12672
    • feat: add the map of json data size to rspack_plugin_rsdoctor for use rsdoctor by @yifancong in https://github.com/web-infra-dev/rspack/pull/12950
    • feat: splitChunks for EsmLibraryPlugin by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12521
    • feat: automatically split runtime chunk by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13123
    • feat: optimize star exports from externals by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13050
    • feat: optimize dyn import for esm output by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13121
    • feat: making RSC compatible with lazy compilation by @SyMind in https://github.com/web-infra-dev/rspack/pull/13136
    • feat: cjs require destructuring assignment tree shaking by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13149
    • feat: keep unknown import.meta properties by @intellild in https://github.com/web-infra-dev/rspack/pull/12796
    • feat(javascript): align scope termination and DCE with webpack by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13147
    • feat: support strict this context on imports by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13169
    • feat: rsdoctor support the side effects infos by @yifancong in https://github.com/web-infra-dev/rspack/pull/12983
    • feat(javascript): improve const eval by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13167
    • feat(stats): enable stats.colors by default when environment supports by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13161
    • feat(esm-library): auto-name unnamed dynamic import chunks with deterministic module name by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13172
    • feat(deps): update @rspack/dev-server to 2.0.0-beta.1 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13205
    • feat: cjs require variable property access tree shaking by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13155
    • feat: enable mangle exports for cjs full require by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13212
    • feat(esm-library): deduplicate non-concatenated external modules after scope hoisting by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13210
    • feat(esm): optimize dynamic import exports for namespace and tree-shaking by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13211
    • feat: support regex flags and JavaScript lookaheads in extractComments condition by @Copilot in https://github.com/web-infra-dev/rspack/pull/12990
    • feat(mf): shareScope support array type by @2heal1 in https://github.com/web-infra-dev/rspack/pull/13107
    • feat: add Node.js version check during initialization by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13261
    • feat: rsc support disable client api checks by @SyMind in https://github.com/web-infra-dev/rspack/pull/13263
    • feat: update devServer types for @rspack/dev-server v2 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13278
    • feat(create-rspack): add Rstest as an optional tool by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13300
    • feat: support rsc manifest callback by @SyMind in https://github.com/web-infra-dev/rspack/pull/13277
    • feat: rspack_plugin_rsdoctor add collect connections function by @yifancong in https://github.com/web-infra-dev/rspack/pull/13181
    • feat: tree shaking for inlined members access dynamic import by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13381
    • feat: add EsmNodeTargetPlugin for ESM-aware node builtin externals by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13370
    • feat(rsdoctor): add support for dependency connections by @yifancong in https://github.com/web-infra-dev/rspack/pull/13384
    • feat: enable mangle exports for cjs reexport by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13413
    • feat(rstest): support unmockRequire methods by @9aoy in https://github.com/web-infra-dev/rspack/pull/13412
    • feat(create-rspack): update typescript to v6 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13445
    • feat(swc-loader): add detectSyntax option to infer parser by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13467
    • feat: support import.meta.main by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13489
    • feat: support expression in import.meta.resolve argument by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13523
    • feat: add ModuleGraph.getUsedExports to ModuleGraph by @SyMind in https://github.com/web-infra-dev/rspack/pull/13519
    • feat: Implement HashedModuleIdsPlugin by @aancuta in https://github.com/web-infra-dev/rspack/pull/13197
    • feat: add TryFutureConsumer with short-circuit cancellation by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/13554
    • feat(binding): add active-related APIs to ModuleGraphConnection by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13548
    • feat: support optimize side effects free function calls by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12559
    • feat(node-binding): add external wasm debug info for wasm dwarf debugging by @hardfist in https://github.com/web-infra-dev/rspack/pull/13638
    • feat(create-rspack): modernize starter template configs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13645
    • feat(split-chunks): support enforceSizeThreshold option by @jaehafe in https://github.com/web-infra-dev/rspack/pull/13576
    • feat(resolve): support #/ subpath alias import by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13633
    • feat(create-rspack): reuse rspack config in rstest templates by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13666
    • feat: enforce macro-generated implemented_hooks in debug builds by @SyMind in https://github.com/web-infra-dev/rspack/pull/13677
    • feat: only apply require-* parser plugins to js-auto/js-dynamic by @SyMind in https://github.com/web-infra-dev/rspack/pull/13678
    • feat: skip building side-effect-only imports in make by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13688
    • feat: add compiler.hooks.shouldRecord for NoEmitOnErrorsPlugin by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13630
    • feat(cli): use jiti to load typescript config by @hardfist in https://github.com/web-infra-dev/rspack/pull/13690
    • feat: expose jsonp template plugin by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13700
    • feat(config): update default performance budgets by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13717
    • feat: support relative output.path relative to context by @hardfist in https://github.com/web-infra-dev/rspack/pull/13718
    • feat(create-rspack): add optional agent skills by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13729
    • feat: persistent cache for swc js minimizer plugin by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13706
    • feat(cli): add --open / --no-open to rspack dev / serve by @mvanhorn in https://github.com/web-infra-dev/rspack/pull/13777

    Bug Fixes ๐Ÿž

    • fix: failed to resolve 'browserslist-load-config' module by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12767
    • fix: correct watchpack require path by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12771
    • fix(browser): fix @rspack/browser failure after pure esm transformation by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/12781
    • fix(mf): async startup e2e test by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12808
    • fix(template): add @rspack/dev-server to dev dependencies by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12821
    • fix: normalize paths for extract source map by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12825
    • fix(mf): use dynamic exports type for MF modules by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12841
    • fix: should not panic when access slate stats by @SyMind in https://github.com/web-infra-dev/rspack/pull/12839
    • fix(mf): prevent entry-specific chunks from polluting manifest assets and refactor manifest generation by @2heal1 in https://github.com/web-infra-dev/rspack/pull/12836
    • fix: enable panic backtrace for release-debug profile by @Copilot in https://github.com/web-infra-dev/rspack/pull/12856
    • fix(mf): respect request changes in shared plugins by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12863
    • fix: prevent panic on template literals with invalid escape sequences by @Copilot in https://github.com/web-infra-dev/rspack/pull/12867
    • fix: rsc should handle concat module in build server manifest by @SyMind in https://github.com/web-infra-dev/rspack/pull/12859
    • fix: fix used exports for global entry that inject to async entrypoints by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12883
    • fix: should render export name when re-export from different modules by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12886
    • fix: unsafe cache cannot watch symlink by @SyMind in https://github.com/web-infra-dev/rspack/pull/12885
    • fix: prevent server actions from being removed in production build by @SyMind in https://github.com/web-infra-dev/rspack/pull/12898
    • fix(rstest): rstest.importActual not work when imported from @rstest/core by @9aoy in https://github.com/web-infra-dev/rspack/pull/12908
    • fix: build_chunk_graph recover logic by @hardfist in https://github.com/web-infra-dev/rspack/pull/12920
    • fix: rsc plugin stats should use AtomicRefCell by @SyMind in https://github.com/web-infra-dev/rspack/pull/12923
    • fix: context dependencies hash calculation use cache.snapshot configuration by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/12937
    • fix: RSC fails to properly handle Windows paths by @SyMind in https://github.com/web-infra-dev/rspack/pull/12969
    • fix: webpack_chunk_load api compile wrong by @SyMind in https://github.com/web-infra-dev/rspack/pull/12971
    • fix: Replace AtomicRefCell with Mutex in RSC Coordinator by @SyMind in https://github.com/web-infra-dev/rspack/pull/12972
    • fix: port webpack fix for webpack_module name collision by @Copilot in https://github.com/web-infra-dev/rspack/pull/12956
    • fix: preserve import external without modify mg by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12973
    • fix: allow to export the same name of same local, fix entry splitting algorithm by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13000
    • fix(esm-lib-plugin): support inline export for dyn import by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12949
    • fix: enable requireAsExpression by default again and not to throw warning when requireAlias is disabled by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12998
    • fix: prevent module point to wild pointer by @SyMind in https://github.com/web-infra-dev/rspack/pull/13021
    • fix(core): missing @rspack/lite-tapable types by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13031
    • fix: allow both 0.24+ and 2.0+ of @module-federation/runtime-tools by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13039
    • fix: infinite loop in is_available_chunk when chunk groups form a cycle by @SyMind in https://github.com/web-infra-dev/rspack/pull/13042
    • fix: normalize file dependencies paths in CopyPlugin to prevent incorrect rebuild triggers by @SyMind in https://github.com/web-infra-dev/rspack/pull/13043
    • fix(module-federation): encode runtime data URI and support named wrappers by @BleedingDev in https://github.com/web-infra-dev/rspack/pull/12982
    • fix: generating correct types for @rspack/lite-tapable by @colinaaa in https://github.com/web-infra-dev/rspack/pull/13048
    • fix(rstest): hoist importActual ESM imports by @9aoy in https://github.com/web-infra-dev/rspack/pull/13025
    • fix(rstest): replace mockRequire to rstest_mock_require by @9aoy in https://github.com/web-infra-dev/rspack/pull/13056
    • fix: compile document fragments in HtmlRspackPlugin by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13103
    • fix: should not treat module with module variable as esm compatible by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13129
    • fix: preserve optional chaining in CommonJS self-reference expressions by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13132
    • fix(core): type issues when skipLibCheck is disabled by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13138
    • fix: skip SRI for external URLs not under publicPath by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13134
    • fix: remove useless dyn_refs by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13148
    • fix: when there are 2+ dep targets in the same chunk, create facade chunks for all of them by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13154
    • fix(html): handle html fragments and diagnostics by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13178
    • fix: try catch return statement DCE by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13179
    • fix: revert lastCompilation check for stats by @hardfist in https://github.com/web-infra-dev/rspack/pull/13214
    • fix(esm-library): fix dynamic import of same-chunk concatenated modules and external name deconfliction by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13220
    • fix: Fix stats artifact fallback warning test to use stale stats by @hardfist in https://github.com/web-infra-dev/rspack/pull/13219
    • fix: Remove DerefMut impl from ArcPath by @hardfist in https://github.com/web-infra-dev/rspack/pull/13235
    • fix(defaults): make module rules regex case-sensitive by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13238
    • fix: dup external module declarations by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13231
    • fix: merge exports info when merging external modules by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13257
    • fix(create-rspack): update @rspack/dev-server to 2.0.0-beta.4 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13268
    • fix: avoid import duplicate identifiers by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13267
    • fix: restore panic backtrace for macOS arm64 bindings by @hardfist in https://github.com/web-infra-dev/rspack/pull/13283
    • fix(collections): use FxHasher for Ukey by @hardfist in https://github.com/web-infra-dev/rspack/pull/13293
    • fix(esm-lib): tree-shake unused exports, fix property_access name collision and get_binding panic by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13288
    • fix: cjs tree shaking used with named export by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13303
    • fix: huge file dependencies cause range error by @SyMind in https://github.com/web-infra-dev/rspack/pull/13305
    • fix: dynamic import tree shaking used with named export by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13307
    • fix: correct dev server types by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13313
    • fix(rstest): prevent the re-exports optimization for mocked modules by @9aoy in https://github.com/web-infra-dev/rspack/pull/13262
    • fix(esm-lib): render init fragments after import source by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13308
    • fix: normal runtime use should not contains require function by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13190
    • fix: strict this context for dynamic import and cjs require by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13328
    • fix(javascript): preserve live code after labeled breaks by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13325
    • fix: WorkerPlugin should be inherented in children compiler by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13310
    • fix(parser): avoid treating require.resolve chains as require by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/13341
    • fix(esm-lib): avoid exporting webpack_require and useless runtime when runtimeChunk is false by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13374
    • fix: optimize concatenated module code generation hot paths by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13375
    • fix: avoid analyze cjs tree shaking for user defined require by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13401
    • fix(esm-lib): replace panics in get_module_chunk with Result-based error handling by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13396
    • fix(rsc): should compile css without use server-entry by @SyMind in https://github.com/web-infra-dev/rspack/pull/13402
    • fix: deduplicate source name stable by @SyMind in https://github.com/web-infra-dev/rspack/pull/13416
    • fix(esm-library): deduplicate external module import identifiers in ESM output by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13418
    • fix(esm-lib): use package name for node_modules short name in dynamic imports by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13406
    • fix: add coverage for esm library linking, and fix linking errors by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13424
    • fix: should enforce orphan:false for concatenated module by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/10317
    • fix: lightningcss with previous loader source maps by @SyMind in https://github.com/web-infra-dev/rspack/pull/13436
    • fix: duplicate-sources-order by @SyMind in https://github.com/web-infra-dev/rspack/pull/13438
    • fix(core): implement new Map methods on Compilation.entries by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13444
    • fix(core): preserve external namespace access in esm externals by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13442
    • fix: keep empty entry runtime chunk for modern-module render by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/13452
    • fix(esm-library): support star reexport namespaces by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13448
    • fix(core): bump rslib and fix type related issues by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/13376
    • fix: use Symbol.for() for shared symbol identity in module bindings by @tryggvigy in https://github.com/web-infra-dev/rspack/pull/13457
    • fix(rsc): tree shaking client barrel by @SyMind in https://github.com/web-infra-dev/rspack/pull/13472
    • fix: import.meta.resolve() and add tests by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13469
    • fix(rstest): resolve manual mock targets with resolver by @9aoy in https://github.com/web-infra-dev/rspack/pull/13439
    • fix(esm-library): avoid duplicate webpack_require export by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13483
    • fix: improve pure comment matching by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13498
    • fix(esm): deconflict external bindings in module output by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13466
    • fix(watcher): rename typo recursiron_directories to recurse_parent_directories by @jaehafe in https://github.com/web-infra-dev/rspack/pull/13510
    • fix: avoid spreading huge dependency iterables by @SyMind in https://github.com/web-infra-dev/rspack/pull/13517
    • fix(types): allow partial jsc.parser config when detectSyntax is auto by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13531
    • fix(swc-loader): fallback detectSyntax auto for virtual modules by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13529
    • fix: reset chunk.rendered in incremental build by @hardfist in https://github.com/web-infra-dev/rspack/pull/13544
    • fix(cli): surface fatal errors and unhandled rejections on process exit by @briansilah in https://github.com/web-infra-dev/rspack/pull/13506
    • fix: multicompiler devServer false support in serve by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13572
    • fix(cli): bundle lazy-loaded helper deps by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13587
    • fix: cjs self reference mangle exports by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13588
    • fix(esm-library): emit empty export for empty node chunks by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13462
    • fix(wasm): avoid blocking-thread work under node:wasi by @hardfist in https://github.com/web-infra-dev/rspack/pull/13598
    • fix(core): move connection states to ModuleGraphConnection by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13624
    • fix(side-effects): respect DefinePlugin purity evaluation by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13628
    • fix(externals): correct external type for aliased node builtin externals by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13627
    • fix(browser): import napi symbols from binding by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13641
    • fix(core): fix cjs export function tree shaking by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13643
    • fix(config): tighten rule loader/use typings by @kyungilcho in https://github.com/web-infra-dev/rspack/pull/13514
    • fix: add @emnapi/core and @emnapi/runtime as dependencies by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13665
    • fix(loader): preserve additionalData in builtin loaders by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13661
    • fix(cli): disable hmr in preview by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13669
    • fix(hash): keep fullhash in sync with css-only content changes by @GiveMe-A-Name in https://github.com/web-infra-dev/rspack/pull/13491
    • fix(watcher): flush pending events on unpause to prevent stuck files_data by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13603
    • fix(watcher): filter stale FSEvents with mtime baseline comparison by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13610
    • fix(rstest): respect importFunctionName when importDynamic is disabled by @9aoy in https://github.com/web-infra-dev/rspack/pull/13673
    • fix: fix flaky wasm tests by @hardfist in https://github.com/web-infra-dev/rspack/pull/13655
    • fix: support module external type in array externals by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13663
    • fix(mf): resolve version from parent package for secondary entry points by @davidfestal in https://github.com/web-infra-dev/rspack/pull/13636
    • fix(wasm): fix browser e2e timeout by running @rspack/browser builds in a worker by @hardfist in https://github.com/web-infra-dev/rspack/pull/13687
    • fix: Revert rstest importFunctionName feature when importDynamic is disabled by @9aoy in https://github.com/web-infra-dev/rspack/pull/13699
    • fix: escape invalid chars anywhere in to_identifier_with_escaped by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13707
    • fix: correct app type constraint in DevServerOptions by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13711
    • fix(esm-library): deconflict module external helper names by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13695
    • fix: render numeric chunk IDs as number literals by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13604
    • fix: align logger timing with webpack by @hardfist in https://github.com/web-infra-dev/rspack/pull/13721
    • fix(esm_library): extract TLA shared modules to break circular dependency by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13606
    • fix: rsc plugins dead lock by @SyMind in https://github.com/web-infra-dev/rspack/pull/13736
    • fix: rspack sources cache save and recovery by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13731
    • fix(css-extract): propagate css loading runtime requirements by @SyMind in https://github.com/web-infra-dev/rspack/pull/13746
    • fix(rstest): avoid async wrapper for sync mock factories by @9aoy in https://github.com/web-infra-dev/rspack/pull/13764
    • fix(esm-library): handle CSS modules in preserveModules by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13670
    • fix(mf): remove debug assertions from collect_expose_requirements function by @2heal1 in https://github.com/web-infra-dev/rspack/pull/13773
    • fix(rsc): render client component CSS as stylesheet resources by @SyMind in https://github.com/web-infra-dev/rspack/pull/13769
    • fix(test-tools): move wast-loader to dependencies by @colinaaa in https://github.com/web-infra-dev/rspack/pull/13782
    • fix(rstest): preserve mock hoist positions in cache by @9aoy in https://github.com/web-infra-dev/rspack/pull/13775

    Refactor ๐Ÿ”จ

    • refactor: use EsmLibraryPlugin for modern-module library type by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12712
    • refactor: align IncrementalPass with rspack hooks naming by @hardfist in https://github.com/web-infra-dev/rspack/pull/12817
    • refactor: remove misleadning naming and adjust cache call place by @hardfist in https://github.com/web-infra-dev/rspack/pull/12818
    • refactor: unify persistent_cache and memory_cache recover logic by @hardfist in https://github.com/web-infra-dev/rspack/pull/12829
    • refactor: additional chunk runtime requirements hook use readonly compilation ref by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12828
    • refactor: move recover build_chunk_graph into artifact by @hardfist in https://github.com/web-infra-dev/rspack/pull/12835
    • refactor: collect module runtime requirements by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12843
    • refactor: use runtime module for optimized deferred module by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12884
    • refactor: optimize RuntimeGlobals definition with auto-inc macro by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12889
    • refactor: enable rule for all crates by @hardfist in https://github.com/web-infra-dev/rspack/pull/12893
    • refactor: enable more perf rule by @hardfist in https://github.com/web-infra-dev/rspack/pull/12901
    • refactor: incremental.buildChunkGraph works only for skip building chunk graph by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12845
    • refactor: collect runtime module runtime requirements by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12890
    • refactor: introduce PassExt trait by @hardfist in https://github.com/web-infra-dev/rspack/pull/12896
    • refactor: runtime requirements in parser by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12928
    • refactor: improve runtime module macro by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12941
    • refactor: make lazy compilation active request meaningful by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12887
    • refactor: move build_chunk_graph result to build_chunk_graph_artifact by @hardfist in https://github.com/web-infra-dev/rspack/pull/12917
    • refactor: using sync hook for dependency_referenced_exports hook by @hardfist in https://github.com/web-infra-dev/rspack/pull/12963
    • refactor: use runtime template for context module codegen by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12957
    • refactor: rename derefOption to stealCell and migrate atomicRefCell to Stealcell by @hardfist in https://github.com/web-infra-dev/rspack/pull/12974
    • refactor: wrap artifact in StealCell by @hardfist in https://github.com/web-infra-dev/rspack/pull/12979
    • refactor: Replace artifact default initialization with explicit new by @hardfist in https://github.com/web-infra-dev/rspack/pull/13005
    • refactor: Ensure each crate enables workspace clippy lint by @hardfist in https://github.com/web-infra-dev/rspack/pull/12995
    • refactor: improve runtime code template architecture by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12954
    • refactor: improve rspack_plugin_esm_library code style by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13009
    • refactor: move exports info out of module graph by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13055
    • refactor: Bind ImportedByDeferModulesArtifact to optimize chunk modules pass by @hardfist in https://github.com/web-infra-dev/rspack/pull/13059
    • refactor: make finishModules readonly for compilation by @hardfist in https://github.com/web-infra-dev/rspack/pull/13058
    • refactor: Add iterators to module graph helpers to avoid cloning by @hardfist in https://github.com/web-infra-dev/rspack/pull/13067
    • refactor: replace collect api with iterator api by @hardfist in https://github.com/web-infra-dev/rspack/pull/13095
    • refactor: make compilation readonly for CompilationSeal hook by @hardfist in https://github.com/web-infra-dev/rspack/pull/13060
    • refactor: Refactor Compilation runtime requirement hook by @hardfist in https://github.com/web-infra-dev/rspack/pull/13116
    • refactor: replace compiler.webpack references with rspack by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13166
    • refactor: remove impl in pass by @hardfist in https://github.com/web-infra-dev/rspack/pull/13168
    • refactor: using namespace object for dynamic import by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13170
    • refactor: return empty artifact when access stats during artifact mutation by @hardfist in https://github.com/web-infra-dev/rspack/pull/13196
    • refactor: cache regex patterns for performance by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13217
    • refactor: remove &mut Compilation in CompilationAddEntry hook by @hardfist in https://github.com/web-infra-dev/rspack/pull/13251
    • refactor: SourceSizeCache for module size cache by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13258
    • refactor(core): reduce identifier hashing in hot paths by @hardfist in https://github.com/web-infra-dev/rspack/pull/13269
    • refactor: specialize overlay map hashers by @hardfist in https://github.com/web-infra-dev/rspack/pull/13291
    • refactor: better task loop scheduler by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13280
    • refactor: use enum payload for BasicEvaluatedExpression by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13265
    • refactor(ids): reduce string cloning in named module ids by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13281
    • refactor(core): batch runtime spec key updates by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13316
    • refactor: remove Ukey DataBase abstraction by @hardfist in https://github.com/web-infra-dev/rspack/pull/13339
    • refactor: persistent cache storage v2 by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/13292
    • refactor(core): reduce exports info overhead in esm import checks by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13383
    • refactor: flush storage when compiler close by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/13395
    • refactor: remove swc_node_comments by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13470
    • refactor(split-chunks): optimize get_combs lookups by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13532
    • refactor: rename rspack_futures to rspack_parallel by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/13547
    • refactor: Refactor build chunk graph artifact render state reset by @hardfist in https://github.com/web-infra-dev/rspack/pull/13569
    • refactor(split-chunks): reduce module group allocation churn by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13560
    • refactor(watcher): clean up stale entries from watch_patterns after unwatch by @jaehafe in https://github.com/web-infra-dev/rspack/pull/13511
    • refactor(storage): db switch to readonly mode when save failed by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/13584
    • refactor: persistent cache remove lock by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/13589
    • refactor: improve persistent cache load error handling by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/13608
    • refactor(concatenated-module): reduce clone overhead by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13642
    • refactor: replace expect("TODO") with descriptive error messages by @jaehafe in https://github.com/web-infra-dev/rspack/pull/13685
    • refactor: cacheable_dyn macro support crate args by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/13776

    Document Updates ๐Ÿ“–

    • docs: remove deprecated parallelCodeSplitting by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12751
    • docs: add missing documentation for JavascriptParserOptions by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12748
    • docs: update bundlerInfo version and formatting by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12772
    • docs: fix typo in CSS docs by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12784
    • docs: update externals function callback about boolean type by @9aoy in https://github.com/web-infra-dev/rspack/pull/12824
    • docs: add tip for devtool's cheap modifier in production build by @SyMind in https://github.com/web-infra-dev/rspack/pull/12849
    • docs: correct plugin hook in SRI plugin by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12935
    • docs: add guide for React Server Components by @SyMind in https://github.com/web-infra-dev/rspack/pull/12919
    • docs: remove experimental outputModule configuration by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12952
    • docs: move deprecated options to dedicated page by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12953
    • docs: add docs about using module external with defer import by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12965
    • docs: update doc links for Rspack versions by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12985
    • docs: update import defer supported syntax by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12987
    • docs(config): clarify output.uniqueName default value and usage by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12993
    • docs: remove meaningless comments from config examples by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12994
    • docs(agents): clarify semver commit requirements by @hardfist in https://github.com/web-infra-dev/rspack/pull/12996
    • docs: sort config option sections alphabetically by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12999
    • docs(ecosystem): add Meteor to ecosystem page by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13004
    • docs(module-federation): improve plugin documentation for clarity by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12997
    • docs: add cache.readonly doc by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/12991
    • docs: fix various documentation links and typos by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13013
    • docs: improve performance configuration documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13015
    • docs(config): add examples module rules by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13016
    • docs: improve optimization.mangleExports docs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13018
    • docs: add Rspack 1.x to 2.0 migration guide by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12826
    • docs: improve migration guide content and structure by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13040
    • docs: standardize heading case in documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13051
    • docs: fix for words without space between them in the Introduction section by @arijitpatra in https://github.com/web-infra-dev/rspack/pull/13094
    • docs: add agent skills section to migration guide and readme by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13124
    • docs: update webpack migration guide for Rspack 2.0 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13141
    • docs: move Hana from Core team to Emeriti members by @Copilot in https://github.com/web-infra-dev/rspack/pull/13159
    • docs(config): clarify array entry behavior and add polyfill example by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13162
    • docs: update node imports to use node: protocol by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13163
    • docs: update examples to use esm syntax by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13165
    • docs: update node version requirements for v2 by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/13180
    • docs: fix html-rspack-plugin hook types of beforeEmit and afterEmit by @Gehbt in https://github.com/web-infra-dev/rspack/pull/13184
    • docs: update devServer.proxy documentation for v2 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13206
    • docs: update webpack migration guide for minimizers by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13250
    • docs(dev-server): improve static files configuration documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13253
    • docs: update descriptions to reflect refined webpack API by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13254
    • docs: add AI documentation by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/13323
    • docs: update devtool default value changes in migration guide by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13326
    • docs(config): clarify default mode behavior by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13330
    • docs: update dev server documentation for v2 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13331
    • docs: fix formatting in SKILL.md by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13333
    • docs: clarify JSON.stringify usage in DefinePlugin by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13337
    • docs: docs for strict this context on imports by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13340
    • docs: clarify merge rules and extensions behavior in resolve config by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13347
    • docs: unify website description by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13349
    • docs: update benchmark data by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13357
    • docs: migration guide for readResourceForScheme hook by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13365
    • docs: add mf optional deps migration docs by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13367
    • docs: correct the migration docs for builtin:swc-loader by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13366
    • docs: correct mf runtime tools to optional peer dependency by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13368
    • docs: update migration guide for dev server changes by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13369
    • docs: sync en v1-to-v2 migration guide with zh by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13371
    • docs(migration): clarify async webassembly defaults by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13372
    • docs: generate description for all documentations by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13377
    • docs: remove useless placeholder comments by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13378
    • docs: remove EsmLibraryPlugin documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13386
    • docs(split-chunks): refine production guidance and FAQ by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13451
    • docs: recommand avoid using require paramter of require.ensure by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13453
    • docs(migration): add transformImport upgrade notes by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13473
    • docs: invite @fansenze to Rspack core team by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13475
    • docs: removed module.unsafeCache in rspack_1.x.mdxโ€Ž by @SyMind in https://github.com/web-infra-dev/rspack/pull/13476
    • docs(migration): simplify v2 experimental changes by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13479
    • docs: improve docs for worker custom syntax by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13552
    • docs: improve import.meta docs by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13574
    • docs: update image-minimizer-webpack-plugin compatibility status to compatible by @jaehafe in https://github.com/web-infra-dev/rspack/pull/13618
    • docs: update import for React Refresh plugin by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13632
    • docs: clarify v2 migration package upgrades by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13664
    • docs: supplement preserveModules documentation by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13659
    • docs: use detectSyntax in swc-loader examples by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13672
    • docs: document package.json imports resolution by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13686
    • docs: clarify externals configuration by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13692
    • docs: correct several config option types by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13694
    • docs: improve library.type and ESM output docs by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13648
    • docs(config): replace generic webpack references with Rspack by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13719
    • docs: improve persistent cache documentation by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/13720
    • docs: clarify compiler target documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13766
    • docs: update import.meta documentation for clarity by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13771
    • docs(blog): add blog list component by @SoonIter in https://github.com/web-infra-dev/rspack/pull/13770
    • docs: update roadmap by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13779
    • docs: document CLI --open flags for dev server by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13783
    • docs: refine pureFunctions and splitChunks config refs by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13772
    • docs: normalize experiments config line endings by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13784

    Other Changes

    • chore: update main by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12760
    • chore: update main by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12776
    • chore: update main by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12803
    • chore: update main by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12814
    • release: version 2.0.0-alpha.0 by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12815
    • chore(ci): read size limit threshold from env variable by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12822
    • chore(deps): update dependency lodash-es to v4.17.23 [security] by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12833
    • chore(test): exclude flaky native watch test case by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12837
    • chore: run workflow for v1.x branch by @SyMind in https://github.com/web-infra-dev/rspack/pull/12855
    • chore: release 2.0.0-alpha.1 by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12860
    • chore(build): remove banner plugin for CommonJS default export workaround by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/12869
    • chore(deps): update dependency lodash to v4.17.23 [security] by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12832
    • test: use tapAsyc api to wait server to close by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12870
    • chore(deps): update patch crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12871
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12872
    • chore: move agents folder to .agents and add rspack-perf-profiling skill by @hardfist in https://github.com/web-infra-dev/rspack/pull/12880
    • chore(ci): update diff action commit id by @yifancong in https://github.com/web-infra-dev/rspack/pull/12881
    • chore: update Rspress to v2 and enable llms by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12907
    • chore: add rspack-sftrace skill by @quininer in https://github.com/web-infra-dev/rspack/pull/12911
    • chore: bump swc_core from 55 to 56 and swc-experimental from 0.4.1 to 0.5.0 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12906
    • chore(test): remove rust flaky test by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12914
    • chore: gracefully explain unsupported interfaces by @martinjlowm in https://github.com/web-infra-dev/rspack/pull/12782
    • chore: release 2.0.0-beta.0 by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12926
    • chore(deps): update babel to ^7.29.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12932
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12930
    • chore(deps): update rust crate bytes to v1.11.1 [security] by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12931
    • chore(deps): update patch crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12929
    • chore(test): unref makes the server garbage unstable by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12936
    • chore(core): move @rspack/lite-tapable to dev dependencies by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12939
    • chore(build): remove 'module.exports' export from dts for backward compatibility of TS < 5.6.2 by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/12948
    • test: bump rstest 0.8.3 by @9aoy in https://github.com/web-infra-dev/rspack/pull/12959
    • chore: remove color-backtrace and enable panic backtrace for ci profile by @hardfist in https://github.com/web-infra-dev/rspack/pull/12967
    • chore: use httpClient to mock test server by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12962
    • chore(test): show cli test stdout/err when child proceess killed by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12913
    • chore(ci): keep debug info in CI profile by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12981
    • chore: bump @rslint/core to 0.2.1 by @fansenze in https://github.com/web-infra-dev/rspack/pull/13003
    • chore(deps): update dependency axios to v1.13.5 [security] by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13014
    • chore: Add build_module_graph benchmark in codspeed suite by @hardfist in https://github.com/web-infra-dev/rspack/pull/13012
    • chore: remove rspackExperiments.collectTypeScriptInfo related code by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13026
    • chore: release v2.0.0-beta.1 by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13023
    • chore(test): use seperate test config for native watcher test project by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13029
    • chore(deps): update dependency @swc/plugin-remove-console to ^12.5.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13038
    • chore(deps): update patch crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13034
    • chore(deps): update dependency @shikijs/transformers to ^3.22.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13037
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13035
    • chore: release v2.0.0-beta.2 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13041
    • chore(workflow): remove API check from pre commit by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13044
    • chore(deps): remove simd-adler32 crate patch by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13045
    • chore(ci): remove setting mirror by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13057
    • chore(deps): update dependency prettier to v3.8.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13065
    • chore(deps): update dependency rspack-vue-loader to ^17.5.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13066
    • chore(deps): update dependency core-js to v3.48.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13062
    • chore(deps): update dependency create-rstack to v1.8.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13063
    • chore(deps): update dependency enhanced-resolve to v5.19.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13064
    • chore(deps): update dependency @playwright/test to v1.58.2 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12874
    • chore: update sftrace skill by @hardfist in https://github.com/web-infra-dev/rspack/pull/13078
    • chore(deps): update dependency terser to v5.46.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13076
    • chore(deps): update dependency mini-css-extract-plugin to ^2.10.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13075
    • chore(deps): update dependency markdown-to-jsx to ^9.7.4 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13073
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13084
    • chore(deps): update patch crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13083
    • chore(deps): update dependency @microsoft/api-extractor to v7.56.3 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13036
    • chore(deps): update dependency webpack-sources to v3.3.4 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13082
    • chore(deps): update dependency ws to ^8.19.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13089
    • chore(deps): update dependency acorn to ^8.16.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13088
    • chore(deps): update dependency check-dependency-version-consistency to v6 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13092
    • chore(deps): update dependency @actions/core to v3 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13090
    • chore(ci): don't cancel diff CI task on main branch by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13099
    • test: update imports to use rspack instead of webpack by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13100
    • chore(deps): update dependency @biomejs/biome to ^2.4.4 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13085
    • chore: remove api change and doc coverage checks by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13102
    • chore(deps): update patch crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13110
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13111
    • chore: Add benchmark for module graph API by @hardfist in https://github.com/web-infra-dev/rspack/pull/13112
    • chore: release 2.0.0-beta.3 by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13115
    • chore: print better backtrace for wasm by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13122
    • chore: remove -production bench cases by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13125
    • chore(deps): upgrade sugar path to 2.0.1 by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13113
    • release: 2.0.0-beta.4 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13140
    • chore(ci): add bench runner label input in CI by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13127
    • chore(ci): add timeout for benchmark action by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13146
    • chore: switch to mimalloc crate by @hardfist in https://github.com/web-infra-dev/rspack/pull/13160
    • chore: bump swc_core from 56 to 58 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13164
    • chore: use new rule to generate crate version by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13175
    • chore: release 2.0.0-beta.5 by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13176
    • chore(deps): update dependency @ast-grep/napi to ^0.41.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13188
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13186
    • chore(ci): update rsdoctor actions by @yifancong in https://github.com/web-infra-dev/rspack/pull/13192
    • chore: update codeowners and teams by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13207
    • chore(deps): update dependency @module-federation/runtime-tools to v2 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13091
    • chore(deps): update patch crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13185
    • chore: remove unused dependencies from root package.json by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13236
    • test: remove defaults base snapshot alignment by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13239
    • chore(deps): update dependency cspell to ^9.7.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13246
    • chore(deps): update dependency lint-staged to ^16.3.2 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13247
    • chore(deps): update dependency case-police to ~2.2.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13245
    • chore(deps): update rust crate cargo_toml to 0.22.3 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12538
    • chore(deps): update rust crate oneshot to v0.1.12 [security] by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12857
    • chore: remove cargo build warning by @hardfist in https://github.com/web-infra-dev/rspack/pull/13255
    • chore: lock file maintenance by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13256
    • chore(ci): use cnpm mirror to setup node in self hosted mac by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13233
    • chore(deps): update dependency @rstest/core to ^0.9.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13244
    • chore: release 2.0.0 beta.6 by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13282
    • chore: update @rspack/dev-server to 2.0.0-beta.5 and update docs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13286
    • chore(ai): add rspack pgo skill by @hardfist in https://github.com/web-infra-dev/rspack/pull/13284
    • chore(deps): update dependency @rslib/core to v0.20.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13298
    • chore(deps): update dependency enhanced-resolve to v5.20.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13299
    • chore(deps): update patch crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13295
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13296
    • chore: docs for config rsc build entries by @SyMind in https://github.com/web-infra-dev/rspack/pull/13289
    • chore(deps): update rust crate rspack_resolver to 0.6.8 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13187
    • chore: rm unused rsc client entry loader by @SyMind in https://github.com/web-infra-dev/rspack/pull/13312
    • chore: lock emnapi by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13329
    • chore: introduce polars for sftrace skill by @quininer in https://github.com/web-infra-dev/rspack/pull/13324
    • chore(ci): run wasm test in github runner by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13252
    • chore(deps): update dependency webpack to v5.104.1 [security] by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12966
    • chore(deps): update dependency @rslint/core to v0.2.3 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13294
    • ci: simplify lint workflow and remove redundant checks by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13335
    • chore(defaults): remove obsolete IGNORE comments by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13336
    • chore(ci): eco benchmark compare using by commits perf data by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13315
    • chore(deps): update dependency cac to v7 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13355
    • chore(deps): update dependency pretty-format to v30.3.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13353
    • chore(deps): update dependency terser-webpack-plugin to ^5.4.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13354
    • ci(workflow): add condition to only run canary release in main by @wChenonly in https://github.com/web-infra-dev/rspack/pull/13359
    • chore: enable enableGlobalVirtualStore for pnpm by @hardfist in https://github.com/web-infra-dev/rspack/pull/13363
    • chore(ci): eco benchmark compare base optimize by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13360
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13350
    • chore: release 2.0.0-beta.7 by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13385
    • chore(deps): update patch crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13393
    • chore: bump rslint to 0.3.1 & migrate rslint.json to rslint.config.ts by @fansenze in https://github.com/web-infra-dev/rspack/pull/13398
    • chore: remove old deprecated code of ModernModuleLibraryPlugin by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13318
    • chore(deps): update dependency less to v4.6.4 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13351
    • chore(deps): update dependency @ast-grep/napi to ^0.42.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13394
    • chore(ci): switch wasm test runner back to self hosted by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13414
    • chore: upgrade path-serializer 0.6.0 by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13411
    • chore: renovate ignore linting crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13391
    • chore: Add memory codspeed benchmarks by @hardfist in https://github.com/web-infra-dev/rspack/pull/13017
    • chore: bump napi dependencies by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13362
    • chore: bump swc_core from 58 to 59 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13434
    • chore: use ci profile for windows by @hardfist in https://github.com/web-infra-dev/rspack/pull/13441
    • chore(ci): fix taplo wrong parameters by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13449
    • chore: release v2.0.0-beta.8 by @SyMind in https://github.com/web-infra-dev/rspack/pull/13447
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13456
    • chore(deps): update dependency @rslint/core to v0.3.2 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13458
    • chore: fix local website build by @hardfist in https://github.com/web-infra-dev/rspack/pull/13455
    • chore(deps): update dependency @module-federation/runtime-tools to v2.2.3 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13460
    • chore(deps): update dependency mermaid to ^11.13.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13352
    • chore(deps): update rust crate itoa to 1.0.18 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13459
    • ci: update ecosystem CI suite by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13463
    • chore: pin rspack_resolver version to exact =0.7.0 by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13433
    • chore(deps): update dependency core-js to v3.49.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13461
    • chore: use pre-built codspeed by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13426
    • chore(ci): remove stale miri config by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13465
    • chore(workflow): simplify JavaScript linters by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13477
    • chore: remove stale devcontainer files by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13480
    • chore: add walltime support by @hardfist in https://github.com/web-infra-dev/rspack/pull/13446
    • test: use html-rspack-plugin in test cases by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13481
    • chore: switch to github runner for bench by @hardfist in https://github.com/web-infra-dev/rspack/pull/13486
    • chore: rm rspack_collection_hasher to improve ci speed by @SyMind in https://github.com/web-infra-dev/rspack/pull/13482
    • ci: remove pnpm cache and simplify pnpm install steps by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13487
    • chore(ci): split binding and rust benchmarks by @hardfist in https://github.com/web-infra-dev/rspack/pull/13492
    • chore: try namespace runner by @hardfist in https://github.com/web-infra-dev/rspack/pull/13484
    • chore: move check-changed job to namespace by @hardfist in https://github.com/web-infra-dev/rspack/pull/13496
    • chore: update cargo shear and fix issues by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13503
    • test(benchmark): add codspeed cases for compilation stages by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13499
    • chore: try namespace runner for wasm test by @hardfist in https://github.com/web-infra-dev/rspack/pull/13500
    • release: 2.0.0-beta.9 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13502
    • chore(ci): move renovate schedule to saturday by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13512
    • chore: bump emnapi from 1.8.1 to 1.9.1 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13516
    • test(benchmark): add split chunks codspeed case by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13520
    • chore(deps): bump @rslib/core to 0.20.2 by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/13525
    • chore: split wasm browser ci by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13504
    • chore: adds -Zfmt-debug=none for non-browser wasm target by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13527
    • chore: remove -Zfmt-debug=none by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13540
    • chore: useNapiCross for x64 linux gnu compilation by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13539
    • chore(crates): use OIDC to publish crates by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13543
    • chore(release): release 2.0.0-rc.0 by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13537
    • chore(security): use rspack scoped mocked react by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13551
    • chore: Update AGENTS concurrency guidance by @hardfist in https://github.com/web-infra-dev/rspack/pull/13553
    • chore: Remove chunk graph DOT generation logic by @hardfist in https://github.com/web-infra-dev/rspack/pull/13549
    • chore(deps): update dependency @rslint/core to v0.3.4 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13561
    • chore(deps): update dependency @module-federation/runtime-tools to v2.3.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13562
    • test: format rspack test configs with prettier by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13571
    • chore: run @rspack/cli, @rspack/tests tests sequentially in wasm by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13557
    • chore(deps): update dependency lodash-es to v4.18.1 [security] by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13585
    • chore: switch codspeed official action by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13582
    • chore(deps): update dependency lodash to v4.18.1 [security] by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13586
    • chore: Update emnapi dependencies to 1.9.2 by @hardfist in https://github.com/web-infra-dev/rspack/pull/13590
    • test: fix try_future_consumer test unstable by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/13592
    • chore(ci): migrate ecosystem CI to central rstack-ecosystem-ci repository by @fi3ework in https://github.com/web-infra-dev/rspack/pull/13522
    • test(benchmark): add persistent cache codspeed cases by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13594
    • chore: bump swc_core from 59 to 62 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13602
    • ci: add contents:read permission for ecosystem CI commit comments by @fi3ework in https://github.com/web-infra-dev/rspack/pull/13605
    • ci: use contents:write permission for ecosystem CI commit comments by @fi3ework in https://github.com/web-infra-dev/rspack/pull/13611
    • chore(deps): update napi by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13614
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13615
    • chore(deps): update dependency @playwright/test to v1.59.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13616
    • chore(deps): update github-actions by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13613
    • chore: upgrade node to 24 while releasing by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13639
    • chore: release 2.0.0-rc.1 by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13625
    • chore(ci): reduce Linux Node.js matrix to save CI resources by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13657
    • chore: bump @rslint/core to 0.4.0 by @fansenze in https://github.com/web-infra-dev/rspack/pull/13658
    • chore(deps): update Rslib 0.21.0 by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/13650
    • chore(ci): add node 24 to release canary and debug workflows by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13656
    • chore: using codspeed bench scan dependencies by @SyMind in https://github.com/web-infra-dev/rspack/pull/13400
    • feat: Add support for assigning numbers in beforeModuleIds hook by @hamlim in https://github.com/web-infra-dev/rspack/pull/13222
    • test(swc-loader): use detectSyntax auto in test configs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13667
    • chore(ci): use unique job IDs in bench workflows to avoid CodSpeed data loss by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13542
    • chore(deps): update dependency create-rstack to v1.9.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13676
    • chore(deps): update dependency axios to ^1.15.0 by @renovate[bot] in https://

    Note truncated.

    Open source โ†’
  27. 2.0.0-rc.317 Apr 2026pre-release
    Release notes

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

    What's Changed

    New Features ๐ŸŽ‰

    • feat: expose jsonp template plugin by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13700
    • feat(config): update default performance budgets by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13717
    • feat: support relative output.path relative to context by @hardfist in https://github.com/web-infra-dev/rspack/pull/13718
    • feat(create-rspack): add optional agent skills by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13729
    • feat: persistent cache for swc js minimizer plugin by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13706

    Bug Fixes ๐Ÿž

    • fix: escape invalid chars anywhere in to_identifier_with_escaped by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13707
    • fix: correct app type constraint in DevServerOptions by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13711
    • fix(esm-library): deconflict module external helper names by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13695
    • fix: render numeric chunk IDs as number literals by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13604
    • fix: align logger timing with webpack by @hardfist in https://github.com/web-infra-dev/rspack/pull/13721

    Refactor ๐Ÿ”จ

    • refactor(browser)!: remove rspack_browser crate and require @rspack/browser to run in a Worker by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13712

    Document Updates ๐Ÿ“–

    • docs(config): replace generic webpack references with Rspack by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13719
    • docs: improve persistent cache documentation by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/13720

    Other Changes

    • chore: enable pnpm dedupe peers by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13713
    • chore(deps): update dependency lodash-es to ^4.18.1 [security] by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13715
    • test(benchmark): add compilation stage benchmark cases by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13702
    • chore: update rust toolchain from nightly-2025-11-13 to nightly-2026-04-16 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13723

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.0.0-rc.2...v2.0.0-rc.3

    Open source โ†’
  28. 2.0.0-rc.214 Apr 2026pre-release
    Release notes

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

    What's Changed

    Performance Improvements โšก

    • perf(code-splitting): reuse side effects evaluation state by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13668
    • perf: trace hook interception only pays off once global tracing is already on by @SyMind in https://github.com/web-infra-dev/rspack/pull/13689

    New Features ๐ŸŽ‰

    • feat(create-rspack): modernize starter template configs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13645
    • feat(split-chunks): support enforceSizeThreshold option by @jaehafe in https://github.com/web-infra-dev/rspack/pull/13576
    • feat(resolve): support #/ subpath alias import by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13633
    • feat(create-rspack): reuse rspack config in rstest templates by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13666
    • feat: enforce macro-generated implemented_hooks in debug builds by @SyMind in https://github.com/web-infra-dev/rspack/pull/13677
    • feat: only apply require-* parser plugins to js-auto/js-dynamic by @SyMind in https://github.com/web-infra-dev/rspack/pull/13678
    • feat: skip building side-effect-only imports in make by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13688
    • feat: add compiler.hooks.shouldRecord for NoEmitOnErrorsPlugin by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13630
    • feat(cli): use jiti to load typescript config by @hardfist in https://github.com/web-infra-dev/rspack/pull/13690

    Bug Fixes ๐Ÿž

    • fix(browser): import napi symbols from binding by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13641
    • fix(core): fix cjs export function tree shaking by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13643
    • fix(config): tighten rule loader/use typings by @kyungilcho in https://github.com/web-infra-dev/rspack/pull/13514
    • fix: add @emnapi/core and @emnapi/runtime as dependencies by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13665
    • fix(loader): preserve additionalData in builtin loaders by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13661
    • fix(cli): disable hmr in preview by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13669
    • fix(hash): keep fullhash in sync with css-only content changes by @GiveMe-A-Name in https://github.com/web-infra-dev/rspack/pull/13491
    • fix(watcher): flush pending events on unpause to prevent stuck files_data by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13603
    • fix(watcher): filter stale FSEvents with mtime baseline comparison by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13610
    • fix(rstest): respect importFunctionName when importDynamic is disabled by @9aoy in https://github.com/web-infra-dev/rspack/pull/13673
    • fix: fix flaky wasm tests by @hardfist in https://github.com/web-infra-dev/rspack/pull/13655
    • fix: support module external type in array externals by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13663
    • fix(mf): resolve version from parent package for secondary entry points by @davidfestal in https://github.com/web-infra-dev/rspack/pull/13636
    • fix(wasm): fix browser e2e timeout by running @rspack/browser builds in a worker by @hardfist in https://github.com/web-infra-dev/rspack/pull/13687
    • fix: Revert rstest importFunctionName feature when importDynamic is disabled by @9aoy in https://github.com/web-infra-dev/rspack/pull/13699

    Refactor ๐Ÿ”จ

    • refactor(concatenated-module): reduce clone overhead by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13642
    • refactor: replace expect("TODO") with descriptive error messages by @jaehafe in https://github.com/web-infra-dev/rspack/pull/13685

    Document Updates ๐Ÿ“–

    • docs: clarify v2 migration package upgrades by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13664
    • docs: supplement preserveModules documentation by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13659
    • docs: use detectSyntax in swc-loader examples by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13672
    • docs: document package.json imports resolution by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13686
    • docs: clarify externals configuration by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13692
    • docs: correct several config option types by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13694
    • docs: improve library.type and ESM output docs by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13648

    Other Changes

    • chore: release 2.0.0-rc.1 by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13625
    • chore(ci): reduce Linux Node.js matrix to save CI resources by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13657
    • chore: bump @rslint/core to 0.4.0 by @fansenze in https://github.com/web-infra-dev/rspack/pull/13658
    • chore(deps): update Rslib 0.21.0 by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/13650
    • chore(ci): add node 24 to release canary and debug workflows by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13656
    • chore: using codspeed bench scan dependencies by @SyMind in https://github.com/web-infra-dev/rspack/pull/13400
    • feat: Add support for assigning numbers in beforeModuleIds hook by @hamlim in https://github.com/web-infra-dev/rspack/pull/13222
    • test(swc-loader): use detectSyntax auto in test configs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13667
    • chore(ci): use unique job IDs in bench workflows to avoid CodSpeed data loss by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13542
    • chore(deps): update dependency create-rstack to v1.9.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13676
    • chore(deps): update dependency axios to ^1.15.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13675
    • chore(deps): update dependency cspell to ^9.8.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13682
    • chore(deps): update dependency heading-case to ^1.1.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13683
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13681
    • chore(deps): update taiki-e/install-action digest to 0abfcd5 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13679
    • chore(deps): update dependency jest-diff to ^30.3.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13684
    • chore(deps): update dependency @rslint/core to v0.4.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13680

    New Contributors

    • @kyungilcho made their first contribution in https://github.com/web-infra-dev/rspack/pull/13514
    • @davidfestal made their first contribution in https://github.com/web-infra-dev/rspack/pull/13636

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.0.0-rc.1...v2.0.0-rc.2

    Open source โ†’
  29. 2.0.0-rc.18 Apr 2026pre-release
    Release notes

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

    Highlights ๐Ÿ’ก

    ๐ŸŒณ Better tree shaking with side-effect-free function analysis

    Rspack can now detect side-effect-free function calls through the #__NO_SIDE_EFFECTS__ notation and manual pureFunctions hints. With support for exported functions and cross-module analysis, unused calls can be identified more reliably, improving tree shaking results and making it easier to optimize both application code and third-party dependencies.

    // lib.js
    /*@__NO_SIDE_EFFECTS__*/ 
    export function call() {
      console.log('hi')
    }
    
    // barrel.js
    import { call } from './lib'
    
    const value = call()
    
    // if value is unused, call can be removed
    export { value }
    

    <img width="873" height="479" alt="image" src="https://github.com/user-attachments/assets/44b3e233-18cc-4be0-b3b1-a1697c649424" />

    What's Changed

    Breaking Changes ๐Ÿ› 

    • feat!: disable bundlerInfo force by default by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13599

    Performance Improvements โšก

    • perf(javascript): cache non-nested export target lookups by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13545
    • perf(rspack-sources): perf potential tokens and source map to json by @SyMind in https://github.com/web-infra-dev/rspack/pull/13497
    • perf: modules should use IdentifierHasher by @SyMind in https://github.com/web-infra-dev/rspack/pull/13601

    New Features ๐ŸŽ‰

    • feat: Implement HashedModuleIdsPlugin by @aancuta in https://github.com/web-infra-dev/rspack/pull/13197
    • feat: add TryFutureConsumer with short-circuit cancellation by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/13554
    • feat(binding): add active-related APIs to ModuleGraphConnection by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13548
    • feat: support optimize side effects free function calls by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12559
    • feat(node-binding): add external wasm debug info for wasm dwarf debugging by @hardfist in https://github.com/web-infra-dev/rspack/pull/13638

    Bug Fixes ๐Ÿž

    • fix(cli): surface fatal errors and unhandled rejections on process exit by @briansilah in https://github.com/web-infra-dev/rspack/pull/13506
    • fix: multicompiler devServer false support in serve by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13572
    • fix(cli): bundle lazy-loaded helper deps by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13587
    • fix: cjs self reference mangle exports by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13588
    • fix(esm-library): emit empty export for empty node chunks by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13462
    • fix(wasm): avoid blocking-thread work under node:wasi by @hardfist in https://github.com/web-infra-dev/rspack/pull/13598
    • fix(core): move connection states to ModuleGraphConnection by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13624
    • fix(side-effects): respect DefinePlugin purity evaluation by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13628
    • fix(externals): correct external type for aliased node builtin externals by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13627

    Refactor ๐Ÿ”จ

    • refactor: rename rspack_futures to rspack_parallel by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/13547
    • refactor: Refactor build chunk graph artifact render state reset by @hardfist in https://github.com/web-infra-dev/rspack/pull/13569
    • refactor(split-chunks): reduce module group allocation churn by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13560
    • refactor(watcher): clean up stale entries from watch_patterns after unwatch by @jaehafe in https://github.com/web-infra-dev/rspack/pull/13511
    • refactor(storage): db switch to readonly mode when save failed by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/13584
    • refactor: persistent cache remove lock by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/13589
    • refactor: improve persistent cache load error handling by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/13608

    Document Updates ๐Ÿ“–

    • docs: improve docs for worker custom syntax by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13552
    • docs: improve import.meta docs by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13574
    • docs: update image-minimizer-webpack-plugin compatibility status to compatible by @jaehafe in https://github.com/web-infra-dev/rspack/pull/13618
    • docs: update import for React Refresh plugin by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13632

    Other Changes

    • chore(release): release 2.0.0-rc.0 by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13537
    • chore(security): use rspack scoped mocked react by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13551
    • chore: Update AGENTS concurrency guidance by @hardfist in https://github.com/web-infra-dev/rspack/pull/13553
    • chore: Remove chunk graph DOT generation logic by @hardfist in https://github.com/web-infra-dev/rspack/pull/13549
    • chore(deps): update dependency @rslint/core to v0.3.4 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13561
    • chore(deps): update dependency @module-federation/runtime-tools to v2.3.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13562
    • test: format rspack test configs with prettier by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13571
    • chore: run @rspack/cli, @rspack/tests tests sequentially in wasm by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13557
    • chore(deps): update dependency lodash-es to v4.18.1 [security] by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13585
    • chore: switch codspeed official action by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13582
    • chore(deps): update dependency lodash to v4.18.1 [security] by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13586
    • chore: Update emnapi dependencies to 1.9.2 by @hardfist in https://github.com/web-infra-dev/rspack/pull/13590
    • test: fix try_future_consumer test unstable by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/13592
    • chore(ci): migrate ecosystem CI to central rstack-ecosystem-ci repository by @fi3ework in https://github.com/web-infra-dev/rspack/pull/13522
    • test(benchmark): add persistent cache codspeed cases by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13594
    • chore: bump swc_core from 59 to 62 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13602
    • ci: add contents:read permission for ecosystem CI commit comments by @fi3ework in https://github.com/web-infra-dev/rspack/pull/13605
    • ci: use contents:write permission for ecosystem CI commit comments by @fi3ework in https://github.com/web-infra-dev/rspack/pull/13611
    • chore(deps): update napi by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13614
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13615
    • chore(deps): update dependency @playwright/test to v1.59.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13616
    • chore(deps): update github-actions by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13613
    • chore: upgrade node to 24 while releasing by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13639

    New Contributors

    • @briansilah made their first contribution in https://github.com/web-infra-dev/rspack/pull/13506
    • @aancuta made their first contribution in https://github.com/web-infra-dev/rspack/pull/13197

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.0.0-rc.0...v2.0.0-rc.1

    Open source โ†’
  30. 2.0.0-rc.031 Mar 2026pre-release
    Release notes

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

    Highlights ๐Ÿ’ก

    Support import.meta.main

    import.meta.main is a boolean flag used in ES modules to determine whether the current module is the programโ€™s entry module. It evaluates to true when the module is executed as the main entry, and to false when it is imported by another module. You can think of it as the ESM equivalent of require.main === module in CommonJS. It is useful for running startup logic, initialization code, or CLI behavior only when a module is launched directly.

    What's Changed

    Performance Improvements โšก

    • perf(core): reduce target resolution overhead by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13513

    New Features ๐ŸŽ‰

    • feat: support import.meta.main by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13489
    • feat: support expression in import.meta.resolve argument by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13523
    • feat: add ModuleGraph.getUsedExports to ModuleGraph by @SyMind in https://github.com/web-infra-dev/rspack/pull/13519

    Bug Fixes ๐Ÿž

    • fix(watcher): rename typo recursiron_directories to recurse_parent_directories by @jaehafe in https://github.com/web-infra-dev/rspack/pull/13510
    • fix: avoid spreading huge dependency iterables by @SyMind in https://github.com/web-infra-dev/rspack/pull/13517
    • fix(types): allow partial jsc.parser config when detectSyntax is auto by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13531
    • fix(swc-loader): fallback detectSyntax auto for virtual modules by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13529
    • fix: reset chunk.rendered in incremental build by @hardfist in https://github.com/web-infra-dev/rspack/pull/13544

    Refactor ๐Ÿ”จ

    • refactor(split-chunks): optimize get_combs lookups by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13532

    Document Updates ๐Ÿ“–

    • docs(migration): simplify v2 experimental changes by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13479

    Other Changes

    • chore: update cargo shear and fix issues by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13503
    • test(benchmark): add codspeed cases for compilation stages by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13499
    • chore: try namespace runner for wasm test by @hardfist in https://github.com/web-infra-dev/rspack/pull/13500
    • release: 2.0.0-beta.9 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13502
    • chore(ci): move renovate schedule to saturday by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13512
    • chore: bump emnapi from 1.8.1 to 1.9.1 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13516
    • test(benchmark): add split chunks codspeed case by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13520
    • chore(deps): bump @rslib/core to 0.20.2 by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/13525
    • chore: split wasm browser ci by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13504
    • chore: adds -Zfmt-debug=none for non-browser wasm target by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13527
    • chore: remove -Zfmt-debug=none by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13540
    • chore: useNapiCross for x64 linux gnu compilation by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13539
    • chore(crates): use OIDC to publish crates by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13543

    New Contributors

    • @jaehafe made their first contribution in https://github.com/web-infra-dev/rspack/pull/13510

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.0.0-beta.9...v2.0.0-rc.0

    Open source โ†’
  31. 2.0.0-canary-2026011616 Jan 2026pre-release

    Nothing published for this version

  32. 2.0.0-canary.2026012020 Jan 2026pre-release

    Nothing published for this version

  33. 2.0.0-beta.927 Mar 2026pre-release
    Release notes

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

    What's Changed

    New Features ๐ŸŽ‰

    • feat(create-rspack): update typescript to v6 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13445
    • feat(swc-loader): add detectSyntax option to infer parser by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13467

    Bug Fixes ๐Ÿž

    • fix: keep empty entry runtime chunk for modern-module render by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/13452
    • fix(esm-library): support star reexport namespaces by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13448
    • fix(core): bump rslib and fix type related issues by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/13376
    • fix: use Symbol.for() for shared symbol identity in module bindings by @tryggvigy in https://github.com/web-infra-dev/rspack/pull/13457
    • fix(rsc): tree shaking client barrel by @SyMind in https://github.com/web-infra-dev/rspack/pull/13472
    • fix: import.meta.resolve() and add tests by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13469
    • fix(rstest): resolve manual mock targets with resolver by @9aoy in https://github.com/web-infra-dev/rspack/pull/13439
    • fix(esm-library): avoid duplicate webpack_require export by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13483
    • fix: improve pure comment matching by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13498
    • fix(esm): deconflict external bindings in module output by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13466

    Refactor ๐Ÿ”จ

    • refactor: remove swc_node_comments by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13470

    Document Updates ๐Ÿ“–

    • docs(split-chunks): refine production guidance and FAQ by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13451
    • docs: recommand avoid using require paramter of require.ensure by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13453
    • docs(migration): add transformImport upgrade notes by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13473
    • docs: invite @fansenze to Rspack core team by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13475
    • docs: removed module.unsafeCache in rspack_1.x.mdxโ€Ž by @SyMind in https://github.com/web-infra-dev/rspack/pull/13476

    Other Changes

    • chore(ci): fix taplo wrong parameters by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13449
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13456
    • chore(deps): update dependency @rslint/core to v0.3.2 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13458
    • chore: fix local website build by @hardfist in https://github.com/web-infra-dev/rspack/pull/13455
    • chore(deps): update dependency @module-federation/runtime-tools to v2.2.3 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13460
    • chore(deps): update dependency mermaid to ^11.13.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13352
    • chore(deps): update rust crate itoa to 1.0.18 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13459
    • ci: update ecosystem CI suite by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13463
    • chore: pin rspack_resolver version to exact =0.7.0 by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13433
    • chore(deps): update dependency core-js to v3.49.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13461
    • chore: use pre-built codspeed by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13426
    • chore(ci): remove stale miri config by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13465
    • chore(workflow): simplify JavaScript linters by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13477
    • chore: remove stale devcontainer files by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13480
    • chore: add walltime support by @hardfist in https://github.com/web-infra-dev/rspack/pull/13446
    • test: use html-rspack-plugin in test cases by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13481
    • chore: switch to github runner for bench by @hardfist in https://github.com/web-infra-dev/rspack/pull/13486
    • chore: rm rspack_collection_hasher to improve ci speed by @SyMind in https://github.com/web-infra-dev/rspack/pull/13482
    • ci: remove pnpm cache and simplify pnpm install steps by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13487
    • chore(ci): split binding and rust benchmarks by @hardfist in https://github.com/web-infra-dev/rspack/pull/13492
    • chore: try namespace runner by @hardfist in https://github.com/web-infra-dev/rspack/pull/13484
    • chore: move check-changed job to namespace by @hardfist in https://github.com/web-infra-dev/rspack/pull/13496

    New Contributors

    • @tryggvigy made their first contribution in https://github.com/web-infra-dev/rspack/pull/13457

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.0.0-beta.8...v2.0.0-beta.9

    Open source โ†’
  34. 2.0.0-beta.824 Mar 2026pre-release
    Release notes

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

    What's Changed

    Performance Improvements โšก

    • perf(esm-lib): optimize ESM library rendering performance by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13334
    • perf(build_chunk_graph): optimize data structures in code splitter by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13403
    • perf: rspack_storage parallel write by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/13407

    New Features ๐ŸŽ‰

    • feat: tree shaking for inlined members access dynamic import by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13381
    • feat: add EsmNodeTargetPlugin for ESM-aware node builtin externals by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13370
    • feat(pnp)!: drop multi yarn pnp project resolving by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13389
    • feat(rsdoctor): add support for dependency connections by @yifancong in https://github.com/web-infra-dev/rspack/pull/13384
    • feat: enable mangle exports for cjs reexport by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13413
    • feat(rstest): support unmockRequire methods by @9aoy in https://github.com/web-infra-dev/rspack/pull/13412

    Bug Fixes ๐Ÿž

    • fix(esm-lib): avoid exporting webpack_require and useless runtime when runtimeChunk is false by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13374
    • fix: optimize concatenated module code generation hot paths by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13375
    • fix: avoid analyze cjs tree shaking for user defined require by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13401
    • fix(esm-lib): replace panics in get_module_chunk with Result-based error handling by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13396
    • fix(rsc): should compile css without use server-entry by @SyMind in https://github.com/web-infra-dev/rspack/pull/13402
    • fix: deduplicate source name stable by @SyMind in https://github.com/web-infra-dev/rspack/pull/13416
    • fix(esm-library): deduplicate external module import identifiers in ESM output by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13418
    • fix(esm-lib): use package name for node_modules short name in dynamic imports by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13406
    • fix: add coverage for esm library linking, and fix linking errors by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13424
    • fix: should enforce orphan:false for concatenated module by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/10317
    • fix: lightningcss with previous loader source maps by @SyMind in https://github.com/web-infra-dev/rspack/pull/13436
    • fix: duplicate-sources-order by @SyMind in https://github.com/web-infra-dev/rspack/pull/13438
    • fix(core): implement new Map methods on Compilation.entries by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13444
    • fix(core): preserve external namespace access in esm externals by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13442

    Refactor ๐Ÿ”จ

    • refactor(core): reduce exports info overhead in esm import checks by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13383
    • refactor: flush storage when compiler close by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/13395

    Document Updates ๐Ÿ“–

    • docs: remove EsmLibraryPlugin documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13386

    Other Changes

    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13350
    • chore: release 2.0.0-beta.7 by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13385
    • chore(deps): update patch crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13393
    • chore: bump rslint to 0.3.1 & migrate rslint.json to rslint.config.ts by @fansenze in https://github.com/web-infra-dev/rspack/pull/13398
    • chore: remove old deprecated code of ModernModuleLibraryPlugin by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13318
    • chore(deps): update dependency less to v4.6.4 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13351
    • chore(deps): update dependency @ast-grep/napi to ^0.42.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13394
    • chore(ci): switch wasm test runner back to self hosted by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13414
    • chore: upgrade path-serializer 0.6.0 by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13411
    • chore: renovate ignore linting crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13391
    • chore: Add memory codspeed benchmarks by @hardfist in https://github.com/web-infra-dev/rspack/pull/13017
    • chore: bump napi dependencies by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13362
    • chore: bump swc_core from 58 to 59 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13434
    • chore: use ci profile for windows by @hardfist in https://github.com/web-infra-dev/rspack/pull/13441

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.0.0-beta.7...v2.0.0-beta.8

    Open source โ†’
  35. 2.0.0-beta.717 Mar 2026pre-release
    Release notes

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

    What's Changed

    Breaking Changes ๐Ÿ› 

    • feat!: default resolve roots to empty array by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13273
    • feat!: remove .wasm from default js extensions by @hardfist in https://github.com/web-infra-dev/rspack/pull/13321
    • feat!: remove 'webpack' from default CSS import conditions by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13348
    • fix!: remove unconsumed useless optimization.removeAvailableModules config option by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13317
    • feat(swc-loader)!: move rspackExperiments.import to top-level transformImport by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13345

    Performance Improvements โšก

    • perf: remove ukey collections by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13309
    • perf: replace unnecessary usize and u64 with u32 by @hardfist in https://github.com/web-infra-dev/rspack/pull/13338
    • perf: dyn lint for default hash by @SyMind in https://github.com/web-infra-dev/rspack/pull/13346
    • perf: parser hook plugins by @SyMind in https://github.com/web-infra-dev/rspack/pull/13373

    New Features ๐ŸŽ‰

    • feat(create-rspack): add Rstest as an optional tool by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13300
    • feat: support rsc manifest callback by @SyMind in https://github.com/web-infra-dev/rspack/pull/13277
    • feat: rspack_plugin_rsdoctor add collect connections function by @yifancong in https://github.com/web-infra-dev/rspack/pull/13181

    Bug Fixes ๐Ÿž

    • fix: restore panic backtrace for macOS arm64 bindings by @hardfist in https://github.com/web-infra-dev/rspack/pull/13283
    • fix(collections): use FxHasher for Ukey by @hardfist in https://github.com/web-infra-dev/rspack/pull/13293
    • fix(esm-lib): tree-shake unused exports, fix property_access name collision and get_binding panic by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13288
    • fix: cjs tree shaking used with named export by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13303
    • fix: huge file dependencies cause range error by @SyMind in https://github.com/web-infra-dev/rspack/pull/13305
    • fix: dynamic import tree shaking used with named export by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13307
    • fix: correct dev server types by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13313
    • fix(rstest): prevent the re-exports optimization for mocked modules by @9aoy in https://github.com/web-infra-dev/rspack/pull/13262
    • fix(esm-lib): render init fragments after import source by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13308
    • fix: normal runtime use should not contains require function by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13190
    • fix: strict this context for dynamic import and cjs require by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13328
    • fix(javascript): preserve live code after labeled breaks by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13325
    • fix: WorkerPlugin should be inherented in children compiler by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13310
    • fix(parser): avoid treating require.resolve chains as require by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/13341

    Refactor ๐Ÿ”จ

    • refactor: specialize overlay map hashers by @hardfist in https://github.com/web-infra-dev/rspack/pull/13291
    • refactor: better task loop scheduler by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13280
    • refactor: use enum payload for BasicEvaluatedExpression by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13265
    • refactor(ids): reduce string cloning in named module ids by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13281
    • refactor(core): batch runtime spec key updates by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13316
    • refactor: remove Ukey DataBase abstraction by @hardfist in https://github.com/web-infra-dev/rspack/pull/13339
    • refactor: persistent cache storage v2 by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/13292

    Document Updates ๐Ÿ“–

    • docs: add AI documentation by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/13323
    • docs: update devtool default value changes in migration guide by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13326
    • docs(config): clarify default mode behavior by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13330
    • docs: update dev server documentation for v2 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13331
    • docs: fix formatting in SKILL.md by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13333
    • docs: clarify JSON.stringify usage in DefinePlugin by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13337
    • docs: docs for strict this context on imports by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13340
    • docs: clarify merge rules and extensions behavior in resolve config by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13347
    • docs: unify website description by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13349
    • docs: update benchmark data by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13357
    • docs: migration guide for readResourceForScheme hook by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13365
    • docs: add mf optional deps migration docs by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13367
    • docs: correct the migration docs for builtin:swc-loader by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13366
    • docs: correct mf runtime tools to optional peer dependency by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13368
    • docs: update migration guide for dev server changes by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13369
    • docs: sync en v1-to-v2 migration guide with zh by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13371
    • docs(migration): clarify async webassembly defaults by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13372
    • docs: generate description for all documentations by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13377
    • docs: remove useless placeholder comments by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13378

    Other Changes

    • chore: release 2.0.0 beta.6 by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13282
    • chore: update @rspack/dev-server to 2.0.0-beta.5 and update docs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13286
    • chore(ai): add rspack pgo skill by @hardfist in https://github.com/web-infra-dev/rspack/pull/13284
    • chore(deps): update dependency @rslib/core to v0.20.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13298
    • chore(deps): update dependency enhanced-resolve to v5.20.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13299
    • chore(deps): update patch crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13295
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13296
    • chore: docs for config rsc build entries by @SyMind in https://github.com/web-infra-dev/rspack/pull/13289
    • chore(deps): update rust crate rspack_resolver to 0.6.8 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13187
    • chore: rm unused rsc client entry loader by @SyMind in https://github.com/web-infra-dev/rspack/pull/13312
    • chore: lock emnapi by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13329
    • chore: introduce polars for sftrace skill by @quininer in https://github.com/web-infra-dev/rspack/pull/13324
    • chore(ci): run wasm test in github runner by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13252
    • chore(deps): update dependency webpack to v5.104.1 [security] by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12966
    • chore(deps): update dependency @rslint/core to v0.2.3 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13294
    • ci: simplify lint workflow and remove redundant checks by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13335
    • chore(defaults): remove obsolete IGNORE comments by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13336
    • chore(ci): eco benchmark compare using by commits perf data by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13315
    • chore(deps): update dependency cac to v7 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13355
    • chore(deps): update dependency pretty-format to v30.3.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13353
    • chore(deps): update dependency terser-webpack-plugin to ^5.4.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13354
    • ci(workflow): add condition to only run canary release in main by @wChenonly in https://github.com/web-infra-dev/rspack/pull/13359
    • chore: enable enableGlobalVirtualStore for pnpm by @hardfist in https://github.com/web-infra-dev/rspack/pull/13363
    • chore(ci): eco benchmark compare base optimize by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13360

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.0.0-beta.6...v2.0.0-beta.7

    Open source โ†’
  36. 2.0.0-beta.610 Mar 2026pre-release
    Release notes

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

    What's Changed

    Breaking Changes ๐Ÿ› 

    • refactor!: remove default exports in hot modules by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/13213

    Performance Improvements โšก

    • perf: by json-escape-simd by @SyMind in https://github.com/web-infra-dev/rspack/pull/13183
    • perf: Add smallvec-backed member chains by @hardfist in https://github.com/web-infra-dev/rspack/pull/13227
    • perf: improve find_new_name by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13209
    • perf(regex): enable case-insensitive endsWith fast path by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13232
    • perf: reduce replace source string alloc by @SyMind in https://github.com/web-infra-dev/rspack/pull/13150
    • perf: improve data structure by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13259
    • perf(core): cache ModuleId hash by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13264
    • perf: use UkeySet or IdentifierSet for graph and plugin collections by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13266

    New Features ๐ŸŽ‰

    • feat(esm-library): auto-name unnamed dynamic import chunks with deterministic module name by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13172
    • feat(deps): update @rspack/dev-server to 2.0.0-beta.1 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13205
    • feat: cjs require variable property access tree shaking by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13155
    • feat: enable mangle exports for cjs full require by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13212
    • feat(esm-library): deduplicate non-concatenated external modules after scope hoisting by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13210
    • feat(esm): optimize dynamic import exports for namespace and tree-shaking by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13211
    • feat: support regex flags and JavaScript lookaheads in extractComments condition by @Copilot in https://github.com/web-infra-dev/rspack/pull/12990
    • feat(mf): shareScope support array type by @2heal1 in https://github.com/web-infra-dev/rspack/pull/13107
    • feat: add Node.js version check during initialization by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13261
    • feat: rsc support disable client api checks by @SyMind in https://github.com/web-infra-dev/rspack/pull/13263
    • feat: update devServer types for @rspack/dev-server v2 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13278

    Bug Fixes ๐Ÿž

    • fix: revert lastCompilation check for stats by @hardfist in https://github.com/web-infra-dev/rspack/pull/13214
    • fix(esm-library): fix dynamic import of same-chunk concatenated modules and external name deconfliction by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13220
    • fix: Fix stats artifact fallback warning test to use stale stats by @hardfist in https://github.com/web-infra-dev/rspack/pull/13219
    • fix: Remove DerefMut impl from ArcPath by @hardfist in https://github.com/web-infra-dev/rspack/pull/13235
    • fix(defaults): make module rules regex case-sensitive by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13238
    • fix: dup external module declarations by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13231
    • fix: merge exports info when merging external modules by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13257
    • fix(create-rspack): update @rspack/dev-server to 2.0.0-beta.4 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13268
    • fix: avoid import duplicate identifiers by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13267

    Refactor ๐Ÿ”จ

    • refactor: return empty artifact when access stats during artifact mutation by @hardfist in https://github.com/web-infra-dev/rspack/pull/13196
    • refactor: cache regex patterns for performance by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13217
    • refactor: remove &mut Compilation in CompilationAddEntry hook by @hardfist in https://github.com/web-infra-dev/rspack/pull/13251
    • refactor: SourceSizeCache for module size cache by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13258
    • refactor!: use strictThisContextOnImports to control ns obj as this by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13234
    • refactor(core): reduce identifier hashing in hot paths by @hardfist in https://github.com/web-infra-dev/rspack/pull/13269

    Document Updates ๐Ÿ“–

    • docs: fix html-rspack-plugin hook types of beforeEmit and afterEmit by @Gehbt in https://github.com/web-infra-dev/rspack/pull/13184
    • docs: update devServer.proxy documentation for v2 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13206
    • docs: update webpack migration guide for minimizers by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13250
    • docs(dev-server): improve static files configuration documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13253
    • docs: update descriptions to reflect refined webpack API by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13254

    Other Changes

    • chore(deps): update dependency @ast-grep/napi to ^0.41.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13188
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13186
    • chore(ci): update rsdoctor actions by @yifancong in https://github.com/web-infra-dev/rspack/pull/13192
    • chore: update codeowners and teams by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13207
    • chore(deps): update dependency @module-federation/runtime-tools to v2 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13091
    • chore(deps): update patch crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13185
    • chore: remove unused dependencies from root package.json by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13236
    • test: remove defaults base snapshot alignment by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13239
    • chore(deps): update dependency cspell to ^9.7.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13246
    • chore(deps): update dependency lint-staged to ^16.3.2 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13247
    • chore(deps): update dependency case-police to ~2.2.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13245
    • chore(deps): update rust crate cargo_toml to 0.22.3 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12538
    • chore(deps): update rust crate oneshot to v0.1.12 [security] by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12857
    • chore: remove cargo build warning by @hardfist in https://github.com/web-infra-dev/rspack/pull/13255
    • chore: lock file maintenance by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13256
    • chore(ci): use cnpm mirror to setup node in self hosted mac by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13233
    • chore(deps): update dependency @rstest/core to ^0.9.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13244

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.0.0-beta.5...v2.0.0-beta.6

    Open source โ†’
  37. 2.0.0-beta.53 Mar 2026pre-release
    Release notes

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

    What's Changed

    Performance Improvements โšก

    • perf: Replace OverlayMap with RollbackAtomMap in exports artifact by @hardfist in https://github.com/web-infra-dev/rspack/pull/13143
    • perf: remove ProcessUnlazyDependenciesTask by @hardfist in https://github.com/web-infra-dev/rspack/pull/13151
    • perf: reduce content hash and lazy filename tempate ctx compute by @SyMind in https://github.com/web-infra-dev/rspack/pull/13156

    New Features ๐ŸŽ‰

    • feat: optimize dyn import for esm output by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13121
    • feat: making RSC compatible with lazy compilation by @SyMind in https://github.com/web-infra-dev/rspack/pull/13136
    • feat: cjs require destructuring assignment tree shaking by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13149
    • feat: keep unknown import.meta properties by @intellild in https://github.com/web-infra-dev/rspack/pull/12796
    • feat(javascript): align scope termination and DCE with webpack by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13147
    • feat: support strict this context on imports by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13169
    • feat: rsdoctor support the side effects infos by @yifancong in https://github.com/web-infra-dev/rspack/pull/12983
    • feat(javascript): improve const eval by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13167
    • feat(stats): enable stats.colors by default when environment supports by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13161

    Bug Fixes ๐Ÿž

    • fix: skip SRI for external URLs not under publicPath by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13134
    • fix: remove useless dyn_refs by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13148
    • fix: when there are 2+ dep targets in the same chunk, create facade chunks for all of them by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13154
    • fix(html): handle html fragments and diagnostics by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13178
    • fix: try catch return statement DCE by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13179

    Refactor ๐Ÿ”จ

    • refactor: replace compiler.webpack references with rspack by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13166
    • refactor: remove impl in pass by @hardfist in https://github.com/web-infra-dev/rspack/pull/13168
    • refactor: using namespace object for dynamic import by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13170

    Document Updates ๐Ÿ“–

    • docs: update webpack migration guide for Rspack 2.0 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13141
    • docs: move Hana from Core team to Emeriti members by @Copilot in https://github.com/web-infra-dev/rspack/pull/13159
    • docs(config): clarify array entry behavior and add polyfill example by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13162
    • docs: update node imports to use node: protocol by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13163
    • docs: update examples to use esm syntax by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13165
    • docs: update node version requirements for v2 by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/13180

    Other Changes

    • release: 2.0.0-beta.4 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13140
    • chore(ci): add bench runner label input in CI by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13127
    • chore(ci): add timeout for benchmark action by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13146
    • chore: switch to mimalloc crate by @hardfist in https://github.com/web-infra-dev/rspack/pull/13160
    • chore: bump swc_core from 56 to 58 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13164
    • chore: use new rule to generate crate version by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13175

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.0.0-beta.4...v2.0.0-beta.5

    Open source โ†’
  38. 2.0.0-beta.427 Feb 2026pre-release
    Release notes

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

    What's Changed

    Performance Improvements โšก

    • perf: optimize DependencyLocation computation with incremental caching by @SyMind in https://github.com/web-infra-dev/rspack/pull/13109
    • perf: Convert dependent full hash hook to sync with rayon support by @hardfist in https://github.com/web-infra-dev/rspack/pull/13130

    New Features ๐ŸŽ‰

    • feat: splitChunks for EsmLibraryPlugin by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12521
    • feat: automatically split runtime chunk by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13123
    • feat: optimize star exports from externals by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13050

    Bug Fixes ๐Ÿž

    • fix: compile document fragments in HtmlRspackPlugin by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13103
    • fix: should not treat module with module variable as esm compatible by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13129
    • fix: preserve optional chaining in CommonJS self-reference expressions by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13132
    • fix(core): type issues when skipLibCheck is disabled by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13138

    Refactor ๐Ÿ”จ

    • refactor: Refactor Compilation runtime requirement hook by @hardfist in https://github.com/web-infra-dev/rspack/pull/13116

    Document Updates ๐Ÿ“–

    • docs: add agent skills section to migration guide and readme by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13124

    Other Changes

    • chore: print better backtrace for wasm by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13122
    • chore: remove -production bench cases by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13125
    • chore(deps): upgrade sugar path to 2.0.1 by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13113

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.0.0-beta.3...v2.0.0-beta.4

    Open source โ†’
  39. 2.0.0-beta.325 Feb 2026pre-release
    Release notes

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

    What's Changed

    Performance Improvements โšก

    • perf: Enable more Clippy performance checks and reduce redundant clones by @hardfist in https://github.com/web-infra-dev/rspack/pull/13069
    • perf: remove unused env call by @hardfist in https://github.com/web-infra-dev/rspack/pull/13080
    • perf: use slotmap for scope info by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13101

    New Features ๐ŸŽ‰

    • feat(progress-plugin)!: replace handler rest args with structured info object by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13049
    • feat!: Add pnp_manifest option to resolver by @smeng9 in https://github.com/web-infra-dev/rspack/pull/12417

    Bug Fixes ๐Ÿž

    • fix: infinite loop in is_available_chunk when chunk groups form a cycle by @SyMind in https://github.com/web-infra-dev/rspack/pull/13042
    • fix: normalize file dependencies paths in CopyPlugin to prevent incorrect rebuild triggers by @SyMind in https://github.com/web-infra-dev/rspack/pull/13043
    • fix(module-federation): encode runtime data URI and support named wrappers by @BleedingDev in https://github.com/web-infra-dev/rspack/pull/12982
    • fix: generating correct types for @rspack/lite-tapable by @colinaaa in https://github.com/web-infra-dev/rspack/pull/13048
    • fix(rstest): hoist importActual ESM imports by @9aoy in https://github.com/web-infra-dev/rspack/pull/13025
    • fix(rstest): replace mockRequire to rstest_mock_require by @9aoy in https://github.com/web-infra-dev/rspack/pull/13056

    Refactor ๐Ÿ”จ

    • refactor: move exports info out of module graph by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13055
    • refactor: Bind ImportedByDeferModulesArtifact to optimize chunk modules pass by @hardfist in https://github.com/web-infra-dev/rspack/pull/13059
    • refactor: make finishModules readonly for compilation by @hardfist in https://github.com/web-infra-dev/rspack/pull/13058
    • refactor: Add iterators to module graph helpers to avoid cloning by @hardfist in https://github.com/web-infra-dev/rspack/pull/13067
    • refactor: replace collect api with iterator api by @hardfist in https://github.com/web-infra-dev/rspack/pull/13095
    • refactor: make compilation readonly for CompilationSeal hook by @hardfist in https://github.com/web-infra-dev/rspack/pull/13060

    Document Updates ๐Ÿ“–

    • docs: standardize heading case in documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13051
    • docs: fix for words without space between them in the Introduction section by @arijitpatra in https://github.com/web-infra-dev/rspack/pull/13094

    Other Changes

    • chore: release v2.0.0-beta.2 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13041
    • chore(workflow): remove API check from pre commit by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13044
    • chore(deps): remove simd-adler32 crate patch by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13045
    • chore(ci): remove setting mirror by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13057
    • chore(deps): update dependency prettier to v3.8.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13065
    • chore(deps): update dependency rspack-vue-loader to ^17.5.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13066
    • chore(deps): update dependency core-js to v3.48.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13062
    • chore(deps): update dependency create-rstack to v1.8.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13063
    • chore(deps): update dependency enhanced-resolve to v5.19.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13064
    • chore(deps): update dependency @playwright/test to v1.58.2 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12874
    • chore: update sftrace skill by @hardfist in https://github.com/web-infra-dev/rspack/pull/13078
    • chore(deps): update dependency terser to v5.46.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13076
    • chore(deps): update dependency mini-css-extract-plugin to ^2.10.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13075
    • chore(deps): update dependency markdown-to-jsx to ^9.7.4 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13073
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13084
    • chore(deps): update patch crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13083
    • chore(deps): update dependency @microsoft/api-extractor to v7.56.3 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13036
    • chore(deps): update dependency webpack-sources to v3.3.4 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13082
    • chore(deps): update dependency ws to ^8.19.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13089
    • chore(deps): update dependency acorn to ^8.16.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13088
    • chore(deps): update dependency check-dependency-version-consistency to v6 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13092
    • chore(deps): update dependency @actions/core to v3 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13090
    • chore(ci): don't cancel diff CI task on main branch by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13099
    • test: update imports to use rspack instead of webpack by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13100
    • chore(deps): update dependency @biomejs/biome to ^2.4.4 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13085
    • chore: remove api change and doc coverage checks by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13102
    • chore(deps): update patch crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13110
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13111
    • chore: Add benchmark for module graph API by @hardfist in https://github.com/web-infra-dev/rspack/pull/13112

    New Contributors

    • @BleedingDev made their first contribution in https://github.com/web-infra-dev/rspack/pull/12982
    • @smeng9 made their first contribution in https://github.com/web-infra-dev/rspack/pull/12417
    • @arijitpatra made their first contribution in https://github.com/web-infra-dev/rspack/pull/13094

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.0.0-beta.2...v2.0.0-beta.3

    Open source โ†’
  40. 2.0.0-beta.211 Feb 2026pre-release
    Release notes

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

    What's Changed

    Performance Improvements โšก

    • perf: Cache default context regexp for parser plugins by @hardfist in https://github.com/web-infra-dev/rspack/pull/13024

    Bug Fixes ๐Ÿž

    • fix: prevent module point to wild pointer by @SyMind in https://github.com/web-infra-dev/rspack/pull/13021
    • fix!: remove deprecated readResourceForScheme hook by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13027
    • fix(core): missing @rspack/lite-tapable types by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13031
    • fix: allow both 0.24+ and 2.0+ of @module-federation/runtime-tools by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13039

    Refactor ๐Ÿ”จ

    • refactor: improve rspack_plugin_esm_library code style by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13009

    Document Updates ๐Ÿ“–

    • docs: add Rspack 1.x to 2.0 migration guide by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12826
    • docs: improve migration guide content and structure by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13040

    Other Changes

    • chore: remove rspackExperiments.collectTypeScriptInfo related code by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13026
    • chore: release v2.0.0-beta.1 by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13023
    • chore(test): use seperate test config for native watcher test project by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13029
    • chore(deps): update dependency @swc/plugin-remove-console to ^12.5.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13038
    • chore(deps): update patch crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13034
    • chore(deps): update dependency @shikijs/transformers to ^3.22.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13037
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13035

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.0.0-beta.1...v2.0.0-beta.2

    Open source โ†’
  41. 2.0.0-beta.110 Feb 2026pre-release
    Release notes

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

    What's Changed

    Breaking Changes ๐Ÿ› 

    • feat!: change default value for devtool by @SyMind in https://github.com/web-infra-dev/rspack/pull/12934
    • fix!: enable requireAsExpression by default again and not to throw warning when requireAlias is disabled by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12998
    • feat!: change exports presence default to true by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/13002

    Performance Improvements โšก

    • perf: optimize require regex compilation using static LazyLock by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12944
    • perf: try fix mf performance regression by @hardfist in https://github.com/web-infra-dev/rspack/pull/12958

    New Features ๐ŸŽ‰

    • feat: add beforeModuleIds hook by @hamlim in https://github.com/web-infra-dev/rspack/pull/12809
    • feat: support import.defer() for context module by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12938
    • feat: support MF share treeshake by @2heal1 in https://github.com/web-infra-dev/rspack/pull/12250
    • feat: make license banner comment more concise by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12960
    • feat: preserve tla expr for EsmLibrary by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12942
    • feat: add support for readonly persistent cache by @cellison-figma in https://github.com/web-infra-dev/rspack/pull/12902
    • feat(css): introduce resolveImport parser option for css parser to choose whether to resolve @import syntax by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12672
    • feat: add the map of json data size to rspack_plugin_rsdoctor for use rsdoctor by @yifancong in https://github.com/web-infra-dev/rspack/pull/12950

    Bug Fixes ๐Ÿž

    • fix: rsc plugin stats should use AtomicRefCell by @SyMind in https://github.com/web-infra-dev/rspack/pull/12923
    • fix: context dependencies hash calculation use cache.snapshot configuration by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/12937
    • fix!: remove debug hash algorithm by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12951
    • fix: RSC fails to properly handle Windows paths by @SyMind in https://github.com/web-infra-dev/rspack/pull/12969
    • fix: webpack_chunk_load api compile wrong by @SyMind in https://github.com/web-infra-dev/rspack/pull/12971
    • fix: Replace AtomicRefCell with Mutex in RSC Coordinator by @SyMind in https://github.com/web-infra-dev/rspack/pull/12972
    • fix: port webpack fix for webpack_module name collision by @Copilot in https://github.com/web-infra-dev/rspack/pull/12956
    • fix: preserve import external without modify mg by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12973
    • fix: allow to export the same name of same local, fix entry splitting algorithm by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13000
    • fix(esm-lib-plugin): support inline export for dyn import by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12949

    Refactor ๐Ÿ”จ

    • refactor: collect runtime module runtime requirements by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12890
    • refactor: introduce PassExt trait by @hardfist in https://github.com/web-infra-dev/rspack/pull/12896
    • refactor: runtime requirements in parser by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12928
    • refactor: improve runtime module macro by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12941
    • refactor: make lazy compilation active request meaningful by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12887
    • refactor: move build_chunk_graph result to build_chunk_graph_artifact by @hardfist in https://github.com/web-infra-dev/rspack/pull/12917
    • refactor: using sync hook for dependency_referenced_exports hook by @hardfist in https://github.com/web-infra-dev/rspack/pull/12963
    • refactor: use runtime template for context module codegen by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12957
    • refactor: rename derefOption to stealCell and migrate atomicRefCell to Stealcell by @hardfist in https://github.com/web-infra-dev/rspack/pull/12974
    • refactor: wrap artifact in StealCell by @hardfist in https://github.com/web-infra-dev/rspack/pull/12979
    • refactor: Replace artifact default initialization with explicit new by @hardfist in https://github.com/web-infra-dev/rspack/pull/13005
    • refactor: Ensure each crate enables workspace clippy lint by @hardfist in https://github.com/web-infra-dev/rspack/pull/12995
    • refactor: improve runtime code template architecture by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12954

    Document Updates ๐Ÿ“–

    • docs: correct plugin hook in SRI plugin by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12935
    • docs: add guide for React Server Components by @SyMind in https://github.com/web-infra-dev/rspack/pull/12919
    • docs: remove experimental outputModule configuration by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12952
    • docs: move deprecated options to dedicated page by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12953
    • docs: add docs about using module external with defer import by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12965
    • docs: update doc links for Rspack versions by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12985
    • docs: update import defer supported syntax by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12987
    • docs(config): clarify output.uniqueName default value and usage by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12993
    • docs: remove meaningless comments from config examples by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12994
    • docs(agents): clarify semver commit requirements by @hardfist in https://github.com/web-infra-dev/rspack/pull/12996
    • docs: sort config option sections alphabetically by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12999
    • docs(ecosystem): add Meteor to ecosystem page by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13004
    • docs(module-federation): improve plugin documentation for clarity by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12997
    • docs: add cache.readonly doc by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/12991
    • docs: fix various documentation links and typos by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13013
    • docs: improve performance configuration documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13015
    • docs(config): add examples module rules by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13016
    • docs: improve optimization.mangleExports docs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/13018

    Other Changes

    • chore: release 2.0.0-beta.0 by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12926
    • chore(deps): update babel to ^7.29.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12932
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12930
    • chore(deps): update rust crate bytes to v1.11.1 [security] by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12931
    • chore(deps): update patch crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12929
    • chore(test): unref makes the server garbage unstable by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12936
    • chore(core): move @rspack/lite-tapable to dev dependencies by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12939
    • chore(build): remove 'module.exports' export from dts for backward compatibility of TS < 5.6.2 by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/12948
    • test: bump rstest 0.8.3 by @9aoy in https://github.com/web-infra-dev/rspack/pull/12959
    • chore: remove color-backtrace and enable panic backtrace for ci profile by @hardfist in https://github.com/web-infra-dev/rspack/pull/12967
    • chore: use httpClient to mock test server by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12962
    • chore(test): show cli test stdout/err when child proceess killed by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12913
    • chore(ci): keep debug info in CI profile by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12981
    • chore: bump @rslint/core to 0.2.1 by @fansenze in https://github.com/web-infra-dev/rspack/pull/13003
    • chore(deps): update dependency axios to v1.13.5 [security] by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/13014
    • chore: Add build_module_graph benchmark in codspeed suite by @hardfist in https://github.com/web-infra-dev/rspack/pull/13012

    New Contributors

    • @hamlim made their first contribution in https://github.com/web-infra-dev/rspack/pull/12809
    • @cellison-figma made their first contribution in https://github.com/web-infra-dev/rspack/pull/12902

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.0.0-beta.0...v2.0.0-beta.1

    Open source โ†’
  42. 2.0.0-beta.03 Feb 2026pre-release
    Release notes

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

    What's Changed

    Breaking Changes ๐Ÿ› 

    • feat!: remove experiments.outputModule config by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12912

    Performance Improvements โšก

    • perf: remove ropey crate to reduce binary size by @SyMind in https://github.com/web-infra-dev/rspack/pull/12433

    New Features ๐ŸŽ‰

    • feat: add cache.portable configuration by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/12842
    • feat: support import.defer() for statical path by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12900
    • feat(rstest): only handle global variables when globals is true by @9aoy in https://github.com/web-infra-dev/rspack/pull/12921

    Bug Fixes ๐Ÿž

    • fix: enable panic backtrace for release-debug profile by @Copilot in https://github.com/web-infra-dev/rspack/pull/12856
    • fix(mf): respect request changes in shared plugins by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12863
    • fix: prevent panic on template literals with invalid escape sequences by @Copilot in https://github.com/web-infra-dev/rspack/pull/12867
    • fix: rsc should handle concat module in build server manifest by @SyMind in https://github.com/web-infra-dev/rspack/pull/12859
    • fix: fix used exports for global entry that inject to async entrypoints by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12883
    • fix: should render export name when re-export from different modules by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12886
    • fix: unsafe cache cannot watch symlink by @SyMind in https://github.com/web-infra-dev/rspack/pull/12885
    • fix!: remove unsafe cache by @SyMind in https://github.com/web-infra-dev/rspack/pull/12892
    • fix: prevent server actions from being removed in production build by @SyMind in https://github.com/web-infra-dev/rspack/pull/12898
    • fix(rstest): rstest.importActual not work when imported from @rstest/core by @9aoy in https://github.com/web-infra-dev/rspack/pull/12908
    • fix: build_chunk_graph recover logic by @hardfist in https://github.com/web-infra-dev/rspack/pull/12920

    Refactor ๐Ÿ”จ

    • refactor: collect module runtime requirements by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12843
    • refactor: use runtime module for optimized deferred module by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12884
    • refactor: optimize RuntimeGlobals definition with auto-inc macro by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12889
    • refactor: enable rule for all crates by @hardfist in https://github.com/web-infra-dev/rspack/pull/12893
    • refactor: enable more perf rule by @hardfist in https://github.com/web-infra-dev/rspack/pull/12901
    • refactor: incremental.buildChunkGraph works only for skip building chunk graph by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12845

    Other Changes

    • chore: run workflow for v1.x branch by @SyMind in https://github.com/web-infra-dev/rspack/pull/12855
    • chore: release 2.0.0-alpha.1 by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12860
    • chore(build): remove banner plugin for CommonJS default export workaround by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/12869
    • chore(deps): update dependency lodash to v4.17.23 [security] by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12832
    • test: use tapAsyc api to wait server to close by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12870
    • chore(deps): update patch crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12871
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12872
    • chore: move agents folder to .agents and add rspack-perf-profiling skill by @hardfist in https://github.com/web-infra-dev/rspack/pull/12880
    • chore(ci): update diff action commit id by @yifancong in https://github.com/web-infra-dev/rspack/pull/12881
    • chore: update Rspress to v2 and enable llms by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12907
    • chore: add rspack-sftrace skill by @quininer in https://github.com/web-infra-dev/rspack/pull/12911
    • chore: bump swc_core from 55 to 56 and swc-experimental from 0.4.1 to 0.5.0 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12906
    • chore(test): remove rust flaky test by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12914
    • chore: gracefully explain unsupported interfaces by @martinjlowm in https://github.com/web-infra-dev/rspack/pull/12782

    New Contributors

    • @martinjlowm made their first contribution in https://github.com/web-infra-dev/rspack/pull/12782

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.0.0-alpha.1...v2.0.0-beta.0

    Open source โ†’
  43. 2.0.0-alpha.127 Jan 2026pre-release
    Release notes

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

    <!-- ## Highlights ๐Ÿ’ก -->

    What's Changed

    Breaking Changes ๐Ÿ› 

    • feat!: revert enable verbatimModuleSyntax by @hardfist in https://github.com/web-infra-dev/rspack/pull/12846

    New Features ๐ŸŽ‰

    • feat: improve external module rendering by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12813
    • feat: builtin react server component by @SyMind in https://github.com/web-infra-dev/rspack/pull/12012
    • feat: expose dependency loc to js by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12840

    Bug Fixes ๐Ÿž

    • fix(template): add @rspack/dev-server to dev dependencies by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12821
    • fix: normalize paths for extract source map by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12825
    • fix(mf): use dynamic exports type for MF modules by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12841
    • fix: should not panic when access slate stats by @SyMind in https://github.com/web-infra-dev/rspack/pull/12839
    • fix(mf): prevent entry-specific chunks from polluting manifest assets and refactor manifest generation by @2heal1 in https://github.com/web-infra-dev/rspack/pull/12836

    Refactor ๐Ÿ”จ

    • refactor: align IncrementalPass with rspack hooks naming by @hardfist in https://github.com/web-infra-dev/rspack/pull/12817
    • refactor: remove misleadning naming and adjust cache call place by @hardfist in https://github.com/web-infra-dev/rspack/pull/12818
    • refactor: unify persistent_cache and memory_cache recover logic by @hardfist in https://github.com/web-infra-dev/rspack/pull/12829
    • refactor: additional chunk runtime requirements hook use readonly compilation ref by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12828
    • refactor: move recover build_chunk_graph into artifact by @hardfist in https://github.com/web-infra-dev/rspack/pull/12835

    Document Updates ๐Ÿ“–

    • docs: update externals function callback about boolean type by @9aoy in https://github.com/web-infra-dev/rspack/pull/12824
    • docs: add tip for devtool's cheap modifier in production build by @SyMind in https://github.com/web-infra-dev/rspack/pull/12849

    Other Changes

    • release: version 2.0.0-alpha.0 by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12815
    • chore(ci): read size limit threshold from env variable by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12822
    • chore(deps): update dependency lodash-es to v4.17.23 [security] by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12833
    • chore(test): exclude flaky native watch test case by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12837

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.0.0-alpha.0...v2.0.0-alpha.1

    Open source โ†’
  44. 2.0.0-alpha.022 Jan 2026pre-release
    Release notes

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

    Note ๐Ÿ’ก

    This is an early preview release intended for testing only. It introduces a number of breaking changes that are not yet final.

    See https://github.com/web-infra-dev/rspack/discussions/9270 for all breaking changes.

    What's Changed

    Breaking Changes ๐Ÿ› 

    • feat!: remove experiments.SubResourceIntegrityPlugin by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12642
    • feat!: remove experiments.rspackFuture and move bundlerInfo to output by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12654
    • feat!: remove experiments.parallelLoader by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12658
    • feat!: remove profile and stats.profile by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12662
    • feat!: enable verbatimModuleSyntax of builtin:swc-loader by default by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12668
    • feat!: remove rspack.experiments.lazyCompilationMiddleware by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12736
    • feat!: remove deprecated WarnCaseSensitiveModulesPlugin by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12737
    • feat!: remove deprecated draft option from LightningCSS minimizer by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12740
    • feat!: remove deprecated cssHeadDataCompression option by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12741
    • feat!: remove deprecated output library fields by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12745
    • feat!: make @rspack/dev-server an optional peer dependency by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12750
    • feat!: use rspackChunk as default value of chunkLoadingGlobal by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12779
    • feat!: disable requireAsExpression by default by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12786
    • feat!: use "rspack" as default trustedTypes policy name by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12799
    • feat!: remove sri option of HtmlRspackPlugin by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12651
    • feat!: remove output.charset by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12660
    • feat!: disable .swcrc reading in JavaScript compiler by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12667
    • feat!: remove deprecated getHooks method from plugins by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12738
    • feat!: Rspack off modules and assets in normal stats by @SyMind in https://github.com/web-infra-dev/rspack/pull/12701
    • feat!: default loader/plugin target by rspack target by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12752
    • feat!: use rspackHotUpdate as default hotUpdateGlobal by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12774
    • feat!: enable css by default by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12744
    • feat!: default targets for loader/plugin derived by rspack target, part 2 by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12780
    • feat!: do not expose EsmLibraryPlugin to user directly, use modern-module instead by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12792
    • refactor!: drop support for Node 18 by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/12739
    • refactor!: drop CommonJS build and transition to pure ESM package by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/12733
    • refactor!: use EsmLibraryPlugin for modern-module library type by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12712
    • refactor!: move incremental option from experiments to top-level config by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12793

    Bug Fixes ๐Ÿž

    • fix: failed to resolve 'browserslist-load-config' module by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12767
    • fix: correct watchpack require path by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12771
    • fix(browser): fix @rspack/browser failure after pure esm transformation by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/12781
    • fix(mf): async startup e2e test by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12808

    Document Updates ๐Ÿ“–

    • docs: remove deprecated parallelCodeSplitting by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12751
    • docs: add missing documentation for JavascriptParserOptions by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12748
    • docs: update bundlerInfo version and formatting by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12772
    • docs: fix typo in CSS docs by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12784

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v1.7.3...v2.0.0-alpha.0

    Open source โ†’
  45. 1.7.1217 Jun 2026
    Release notes

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

    What's Changed

    Bug Fixes ๐Ÿž

    • fix: align timing logger with webpack phase boundaries by @hardfist in https://github.com/web-infra-dev/rspack/pull/13559

    Document Updates ๐Ÿ“–

    • docs(v1): add algolia site verification meta by @SoonIter in https://github.com/web-infra-dev/rspack/pull/13818
    • docs: use rspack-v1 algolia index on v1 site by @SoonIter in https://github.com/web-infra-dev/rspack/pull/13924

    Other Changes

    • chore: release 1.7.11 by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/13550
    • chore(backport): use OIDC to publish crates by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13563
    • chore(release): crate 0.7.11 by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13570
    • chore: change CodSpeed baseline branch from main to v1.x by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13573
    • fix: correct mf manifest expose assets by @2heal1 in https://github.com/web-infra-dev/rspack/pull/14327
    • ci: pin release artifact download action by @2heal1 in https://github.com/web-infra-dev/rspack/pull/14459

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v1.7.11...v1.7.12

    Open source โ†’
  46. 1.7.1131 Mar 2026
    Release notes

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

    What's Changed

    New Features ๐ŸŽ‰

    • feat: rsdoctor support the side effects infos by @yifancong in https://github.com/web-infra-dev/rspack/pull/13405

    Other Changes

    • chore: release v1.7.10 by @SyMind in https://github.com/web-infra-dev/rspack/pull/13443
    • chore: lock rspack-resolver by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13432

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v1.7.10...v1.7.11

    Open source โ†’
  47. 1.7.1024 Mar 2026
    Release notes

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

    What's Changed

    New Features ๐ŸŽ‰

    • feat(backport): support regex flags and JavaScript lookaheads in extractComments condition by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13437

    Other Changes

    • chore: suport pnp global cache by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13382
    • chore: bump swc_core from 58 to 59 for v1.x by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13435

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v1.7.9...v1.7.10

    Open source โ†’
  48. 1.7.917 Mar 2026
    Release notes

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

    What's Changed

    New Features ๐ŸŽ‰

    • feat(mf): support array share scope by @2heal1 in https://github.com/web-infra-dev/rspack/pull/13260

    Bug Fixes ๐Ÿž

    • fix: WorkerPlugin should be inherented in children compiler (#13310) by @stormslowly in https://github.com/web-infra-dev/rspack/pull/13361

    Other Changes

    • chore: lock emnapi by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13343

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v1.7.8...v1.7.9

    Open source โ†’
  49. 1.7.810 Mar 2026
    Release notes

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

    What's Changed

    New Features ๐ŸŽ‰

    • feat: Add beforeModuleIds hook by @hamlim in https://github.com/web-infra-dev/rspack/pull/13223
    • feat: add the map of JSON data size to rspack_plugin_rsdoctor for use rsdoctor by @yifancong in https://github.com/web-infra-dev/rspack/pull/13194

    Other Changes

    • chore(ci): update rsdoctor actions by @yifancong in https://github.com/web-infra-dev/rspack/pull/13193

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v1.7.7...v1.7.8

    Open source โ†’
  50. 1.7.73 Mar 2026
    Release notes

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

    What's Changed

    Bug Fixes ๐Ÿž

    • fix: should not treat module with module variable as esm compatible by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/13128

    Other Changes

    • chore: release v1.7.6 by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/13019
    • chore: bump swc_core from 55 to 58 for v1.x by @CPunisher in https://github.com/web-infra-dev/rspack/pull/13173

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v1.7.6...v1.7.7

    Open source โ†’
  51. 1.7.610 Feb 2026
    Release notes

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

    What's Changed

    Bug Fixes ๐Ÿž

    • fix: context dependencies hash calculation use cache.snapshot configuration by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/12947
    • fix: port webpack fix for webpack_module name collision for v1.x by @SyMind in https://github.com/web-infra-dev/rspack/pull/12988

    Document Updates ๐Ÿ“–

    • docs: add Rspack 2.x docs links to v1 website by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12984

    Other Changes

    • chore: release v1.7.5 by @SyMind in https://github.com/web-infra-dev/rspack/pull/12916

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v1.7.5...v1.7.6

    Open source โ†’
  52. 1.7.53 Feb 2026
    Release notes

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

    What's Changed

    Bug Fixes ๐Ÿž

    • fix: fix pnaic for quasic in template literals by @hardfist in https://github.com/web-infra-dev/rspack/pull/12865
    • fix(mf): respect request changes in shared plugins (cherry-pick #12863) by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12864
    • fix: should render export name when re-export from different modules for v1.7 by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12888
    • fix: fix used exports for global entry that inject to async entrypoints (backport #12883) by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12897
    • fix(rstest): rstest.importActual not work when imported from @rstest/core by @9aoy in https://github.com/web-infra-dev/rspack/pull/12918

    Other Changes

    • chore: release 1.7.4 by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12862
    • chore: enable backtrace for release-debug by @hardfist in https://github.com/web-infra-dev/rspack/pull/12868
    • chore: fix bundle-diff for v1 branch by @hardfist in https://github.com/web-infra-dev/rspack/pull/12876
    • chore(ci): update diff action commit id by @yifancong in https://github.com/web-infra-dev/rspack/pull/12879
    • fix: unsafe cache cannot watch symlink by @SyMind in https://github.com/web-infra-dev/rspack/pull/12891

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v1.7.4...v1.7.5

    Open source โ†’
  53. 1.7.427 Jan 2026
    Release notes

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

    What's Changed

    New Features ๐ŸŽ‰

    • feat: support import and export string specifier by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12759
    • feat(mf): add async startup promise gating for entrypoints by @ScriptedAlchemy in https://github.com/web-infra-dev/rspack/pull/11899

    Bug Fixes ๐Ÿž

    • fix: require.resolve() replaced as require() by @intellild in https://github.com/web-infra-dev/rspack/pull/12773
    • fix: handle rs.requireActual and rs.importActual in all contexts by @9aoy in https://github.com/web-infra-dev/rspack/pull/12806
    • fix(mf): filter runtime plugin invocation for used exports by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12807
    • fix: fix panic caused by missing lazy dependency by @hardfist in https://github.com/web-infra-dev/rspack/pull/12820
    • fix(mf): use dynamic exports type for MF modules (cherry-pick #12841) by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12848
    • fix: normalize paths for extract source map (cherry-pick #12825) by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12847
    • fix: enable panic backtrace for release-debug by @hardfist in https://github.com/web-infra-dev/rspack/pull/12854
    • fix: should not panic when accessing slate stats for Rspack 1.x by @SyMind in https://github.com/web-infra-dev/rspack/pull/12853
    • fix(mf): cherry pick mf manifest improving to v1.x by @2heal1 in https://github.com/web-infra-dev/rspack/pull/12851

    Refactor ๐Ÿ”จ

    • refactor: use readonly ref in runtime requirements in tree hook by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12789
    • refactor: introduce ArtifactExt trait by @hardfist in https://github.com/web-infra-dev/rspack/pull/12800
    • refactor: to use &Compilation in AdditionalTreeRuntimeRequirementsHook by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12801
    • refactor: differentiate snapshot strategies by dependency type by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/12805

    Other Changes

    • chore: update Node.js version in .nvmrc to 22 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12797
    • chore: enable fair sched for codspeed by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12798
    • chore: try to make wasm test more stable by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12795
    • chore: disable generation of wasm binding by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12802
    • chore(test): uniform all time to X ms by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12790
    • test: hideSkippedTestFiles by @9aoy in https://github.com/web-infra-dev/rspack/pull/12812
    • test: skip native watcher test case for skip chunk build case by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12858

    New Contributors

    • @intellild made their first contribution in https://github.com/web-infra-dev/rspack/pull/12773

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v1.7.3...v1.7.4

    Open source โ†’
  54. 1.7.320 Jan 2026
    Release notes

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

    What's Changed

    New Features ๐ŸŽ‰

    • feat: support portable cache and disable by default by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/12680

    Bug Fixes ๐Ÿž

    • fix(browser): update worker format and add e2e test by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12747
    • fix: sort css by sourceorder, esm import comes first by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12778

    Refactor ๐Ÿ”จ

    • refactor: move pass into separate folder and driven by run_passes by @hardfist in https://github.com/web-infra-dev/rspack/pull/12735
    • refactor(lazy-compilation): use POST request to transfer ids of active modules by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12678
    • refactor: move logger into pass and reorg some passes by @hardfist in https://github.com/web-infra-dev/rspack/pull/12742
    • refactor: use newtype for alias artifact by @hardfist in https://github.com/web-infra-dev/rspack/pull/12754
    • refactor: move all artifacts together by @hardfist in https://github.com/web-infra-dev/rspack/pull/12755
    • refactor: use compilation readonly ref in codegen optimization hook by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12743
    • refactor: remove old cache by @hardfist in https://github.com/web-infra-dev/rspack/pull/12777

    Other Changes

    • chore: release 1.7.2 by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12710
    • chore(deps): update dependency @rspack/plugin-react-refresh to ^1.6.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12718
    • chore(deps): update dependency @shikijs/transformers to ^3.21.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12719
    • chore(deps): update patch crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12716
    • test: skip recover-from-error/delete-file in watchCases by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/12726
    • test: use Rstest projects to define tests by @9aoy in https://github.com/web-infra-dev/rspack/pull/12729
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12717
    • chore(lint): bump @rslint/core to 0.2.0 and enable default-param-last rule by @fansenze in https://github.com/web-infra-dev/rspack/pull/12746
    • test: support filter test by absolute path by @9aoy in https://github.com/web-infra-dev/rspack/pull/12749
    • chore: bump swc_core from 54 to 55 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12758
    • chore: limit threads for codspeed benchmark by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12763
    • chore(deps): update dependency cspell to ^9.6.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12768
    • chore(deps): update dependency emnapi to ^1.8.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12769
    • chore(deps): update dependency memfs to v4.53.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12770

    New Contributors

    • @fansenze made their first contribution in https://github.com/web-infra-dev/rspack/pull/12746

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v1.7.2...v1.7.3

    Open source โ†’
  55. 1.7.213 Jan 2026
    Release notes

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

    What's Changed

    New Features ๐ŸŽ‰

    • feat: add constructor name for JS runtime modules by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12673
    • feat: rspack_cacheable context expose project root by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/12685
    • feat: rspack_cacheable add portable path & portable string by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/12688
    • feat: add requireAlias option to control require variable renaming by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12686
    • feat: impl sync_trace for logger tracing layer by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12687
    • feat: add warning when requireAlias is disabled by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12700
    • feat: use rspack-vue-loader to support Vue hot update by @9aoy in https://github.com/web-infra-dev/rspack/pull/12698
    • feat(rstest): add preserveNewUrl option to keep new URL untouched by @fi3ework in https://github.com/web-infra-dev/rspack/pull/12632

    Bug Fixes ๐Ÿž

    • fix: report error when access module_graph in loader by @hardfist in https://github.com/web-infra-dev/rspack/pull/12639
    • fix(lint): enable @typescript-eslint/await-thenable rule by @tt-a1i in https://github.com/web-infra-dev/rspack/pull/12644
    • fix(lint): enable @typescript-eslint/require-await rule by @tt-a1i in https://github.com/web-infra-dev/rspack/pull/12664
    • fix(lint): enable @typescript-eslint/return-await rule by @tt-a1i in https://github.com/web-infra-dev/rspack/pull/12665
    • fix: incremental rebuild no code generation entry panic by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/12643
    • fix: inlined export invalid syntax comment by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12681
    • fix(test): flaky test due to calling toJSON while hot updating by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12694
    • fix: environments.importMetaDirnameAndFilename not work by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12708
    • fix: dynamic entry panic when disable build cache by @SyMind in https://github.com/web-infra-dev/rspack/pull/12696
    • fix(context-replacement): only apply changes when regex matches by @agneym in https://github.com/web-infra-dev/rspack/pull/12657
    • fix(mf): handle missing chunk gracefully and improve expose chunk name logic by @2heal1 in https://github.com/web-infra-dev/rspack/pull/12709
    • fix(type): runtimeModule.source by @9aoy in https://github.com/web-infra-dev/rspack/pull/12713

    Refactor ๐Ÿ”จ

    • refactor: afterCodeGeneration hook use read only compilation ref by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12655
    • refactor: make compilation readonly for runtimeModule hook by @hardfist in https://github.com/web-infra-dev/rspack/pull/12670
    • refactor: unify artifact clear logic by @hardfist in https://github.com/web-infra-dev/rspack/pull/12677
    • refactor: use DerfOpt's take/replace assist artifact mutation by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12659

    Other Changes

    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12647
    • chore(deps): update patch crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12646
    • chore: run ci/eco-ci/eco-benchmark on v2 branch by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12650
    • chore(deps): update github-actions by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12645
    • revert: "feat: add warning when requireAlias is disabled" by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12702

    New Contributors

    • @tt-a1i made their first contribution in https://github.com/web-infra-dev/rspack/pull/12644
    • @agneym made their first contribution in https://github.com/web-infra-dev/rspack/pull/12657

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v1.7.1...v1.7.2

    Open source โ†’
  56. 1.7.16 Jan 2026
    Release notes

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

    What's Changed

    New Features ๐ŸŽ‰

    • feat(module-federation): enhance manifest generation and shared module handling by @2heal1 in https://github.com/web-infra-dev/rspack/pull/12399

    Bug Fixes ๐Ÿž

    • fix: make after optimize modules hook immutable by @hardfist in https://github.com/web-infra-dev/rspack/pull/12589
    • fix: should export rspack function from compiler.rspack by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12636

    Refactor ๐Ÿ”จ

    • refactor: make compilation readonly for module ids hook by @hardfist in https://github.com/web-infra-dev/rspack/pull/12588
    • refactor: make compilation readonly for optimize tree hooks by @hardfist in https://github.com/web-infra-dev/rspack/pull/12597
    • refactor: use readonly compilation reference for after seal hook by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12602
    • refactor: remove option in dependency_by_id by @hardfist in https://github.com/web-infra-dev/rspack/pull/12569
    • refactor: don't return option for dependency_id_to_parents by @hardfist in https://github.com/web-infra-dev/rspack/pull/12609
    • refactor: make compilation readonly for chunk_ids hooks by @hardfist in https://github.com/web-infra-dev/rspack/pull/12608
    • refactor: remove option in module_graph_module_by_identifier_mut by @hardfist in https://github.com/web-infra-dev/rspack/pull/12610
    • refactor: use read only compilation reference in after process assets hook by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12615
    • refactor: move try_dependency_by_id api in internal folder by @hardfist in https://github.com/web-infra-dev/rspack/pull/12611
    • refactor: remove MaybeDynamicTargetExportInfo and simplify get_target by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12601
    • refactor: introduce ExprRef to avoid clone Expr ast nodes by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12622
    • refactor: remove unused SWC helpers by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12614
    • refactor: replace UsageCallback closure with InnerGraphUsageOperation enum by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12619

    Document Updates ๐Ÿ“–

    • docs: add 1.7.0 release blog by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12571
    • docs: update links from rspack-contrib to rstackjs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12603
    • docs: fix benchmark repo links by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12607
    • docs: add link to pure annotation specification by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12624
    • docs: SRI plugin of old rspack versions by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12637

    Other Changes

    • chore: release v1.7.0 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12595
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12594
    • ci: only download bindings artifacts during release by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12604
    • chore(deps): update rust crate indicatif to 0.18.3 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12539
    • chore(deps): update patch crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12593
    • chore: use Node 24 for WASM tests by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12613
    • chore: limit workers for loader parallel tests by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12620
    • chore(deps): update github-actions by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12592

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v1.7.0...v1.7.1

    Open source โ†’
  57. 1.7.031 Dec 2025
    Release notes

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

    ๐ŸŽ‰ See Announcing Rspack 1.7 for more details.

    What's Changed

    Performance Improvements โšก

    • perf(rstest): minor performance optimization by @fi3ework in https://github.com/web-infra-dev/rspack/pull/12469
    • perf: update module graph overlay map by @hardfist in https://github.com/web-infra-dev/rspack/pull/12560

    New Features ๐ŸŽ‰

    • feat: stabilize lazy compilation middleware by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12429
    • feat: add support for type: 'text' in asset modules by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12457
    • feat: enable lazy compilation for imports by defaults by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12419
    • feat(deps)!: bump swc_core from 46.0.3 to 50.2.3 and swc_experimental by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12445
    • feat: implement UniversalCompileAsyncWasmPlugin for universal chunk loading by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12471
    • feat: stabilize inline exports by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12475
    • feat: stabilize SubresourceIntegrityPlugin by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12483
    • feat: improve deprecation warning messages by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12524
    • feat: add rspack_tools to compare .cache from different os by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/12499
    • feat: improve warning messages for mocked node values by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12549
    • feat: add bytes support for asset modules by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12548
    • feat: mangle exports of css modules by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12563
    • feat: default lazy compilation from cli and for web app only by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12580

    Bug Fixes ๐Ÿž

    • fix: relative-resource-path should handle output.filename by @SyMind in https://github.com/web-infra-dev/rspack/pull/12398
    • fix: improve RuntimeGlobals type definition accuracy by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12403
    • fix: handle empty resource path in context module by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12407
    • fix: align webpack behavior of removing empty entry chunk by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12414
    • fix: make splitChunks more stable by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12410
    • fix: should use exported name of the imported module by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12423
    • fix: strip ANSI codes from ignoreWarnings messages by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12435
    • fix: concatenate module should use importer's 'strict' for interop by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12446
    • fix: wasm plugin panic when use persistent cache by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/12455
    • fix: add Set methods to compilation dependencies by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12459
    • fix(diagnostic): avoid emitting dim-only indent lines by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12461
    • fix: handle symlinks correctly in rmrf function by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12456
    • fix: add case-sensitive check for emit assets by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12462
    • fix: use RspackHash for HTML plugin content hash calculation by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12465
    • fix: re-validate HttpUriPlugin redirects against allowedUris and enforce http(s) and max redirects by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12463
    • fix: extra runtime global bits are lost after js hook by @nilptr in https://github.com/web-infra-dev/rspack/pull/12275
    • fix: set lazyCompilation default to web only by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12473
    • fix: handle ignored asset modules with proper data URL export by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12468
    • fix: reexports in arrow-only environments without const by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12484
    • fix: respect matchResource when generate nameForCondition by @Austaras in https://github.com/web-infra-dev/rspack/pull/12449
    • fix: exclude hidden dir from snapshot managedPaths default value by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/12486
    • fix: relative resource path in source maps on Windows by @SyMind in https://github.com/web-infra-dev/rspack/pull/12493
    • fix: parsing arrow function IIFE by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12490
    • fix: compile-time evaluation of optional chaining by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12494
    • fix: SRI plugin runtime module check for Module Federation by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12519
    • fix: use default runtime to export default interop and keep empty import for externals by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12530
    • fix: optimize CSS runtime requirements logic by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12529
    • fix: include import attributes in context module identifier by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12551
    • fix: remove allowAsyncCycles option and detect all dependencies of modules by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12552
    • fix: generate CSS file for universal target by @inottn in https://github.com/web-infra-dev/rspack/pull/12570
    • fix: compilation js object memory leak by @SyMind in https://github.com/web-infra-dev/rspack/pull/12579
    • fix(esm_lib_plugin): should set original module for get_binding by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12584
    • fix(cli): apply default lazy compilation value based on user config by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12583
    • fix: shebang should always in entry chunk by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12585
    • fix: remove error log while lazy compilation can't find module to invildate by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12566

    Refactor ๐Ÿ”จ

    • refactor: use atomic_refcell for async_module_artifact by @hardfist in https://github.com/web-infra-dev/rspack/pull/12408
    • refactor: use swc_experimental on concatenated module by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12369
    • refactor: change dependencies_diagnostics_artifact to use atomic_refcell by @hardfist in https://github.com/web-infra-dev/rspack/pull/12415
    • refactor: replace SourceFile with &str and replace Arc<SourceMap> with Rope in rspack_plugin_javascript by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12404
    • refactor: extract common utility functions to rspack_util by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12447
    • refactor: remove linked_hash_set dependency by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12451
    • refactor(esm-lib-plugin): manually resolve exports that re star-exported, and improve NodeTargetPlugin for module output by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12476
    • refactor: extract case-sensitive check to plugin by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12532
    • refactor: check neutral platform by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12534
    • refactor: move collectTypescriptInfo out of rspackExperiments by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12535
    • refactor: refactor module graph by @hardfist in https://github.com/web-infra-dev/rspack/pull/12474
    • refactor: merge rspack_cacheable SerializeError and DeserializeError by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/12556
    • refactor: remove option for modules by @hardfist in https://github.com/web-infra-dev/rspack/pull/12567
    • refactor: remove all option in ModuleGraphData by @hardfist in https://github.com/web-infra-dev/rspack/pull/12568
    • refactor: remove get_make_module_graph_mut api by @hardfist in https://github.com/web-infra-dev/rspack/pull/12575
    • refactor: refine exports info for CJS and ESM interop by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12577
    • refactor: remove redirect_to in exports info by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12581
    • refactor: use defer_options for build_module_artifact by @hardfist in https://github.com/web-infra-dev/rspack/pull/12578
    • refactor: DerefOpiton default to Some(T) when T impl Default trait by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12406
    • refactor: make &compilation for optimization_dependencies by @hardfist in https://github.com/web-infra-dev/rspack/pull/12576
    • refactor: make compilation readonly for optimize_modules phase by @hardfist in https://github.com/web-infra-dev/rspack/pull/12586
    • refactor: improve exports info by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12587

    Document Updates ๐Ÿ“–

    • docs: add docs about env to control working threads limit by @hardfist in https://github.com/web-infra-dev/rspack/pull/12383
    • docs: improve AGENTS.md and add comprehensive development documentation by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12420
    • docs: upgrade [email protected] by @SoonIter in https://github.com/web-infra-dev/rspack/pull/12426
    • docs: update FAQ to clarify Rspack's support for Wasm and RSC by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12432
    • docs: enhance ignoreWarnings option with detailed examples by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12436
    • docs: add deprecated options documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12448
    • docs: refactor module.rules options into a dedicated page by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12452
    • docs: improve resolve.byDependency description and examples by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12458
    • docs: fix rules[].use example by @henryqdineen in https://github.com/web-infra-dev/rspack/pull/12466
    • docs: add descriptions for built-in plugins by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12485
    • docs: add test/include/exclude options for eval source map devtool by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12495
    • docs: use Rspress's default table styles by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12496
    • docs: remove unused code, correct the usage of Link and Table. by @SoonIter in https://github.com/web-infra-dev/rspack/pull/12498
    • docs: enhance output.asyncChunks documentation and examples by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12500
    • docs: stablize inline exports configurations by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12504
    • docs: format markdown files by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12507
    • docs: mention browserslist limitations in target configuration by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12515
    • docs: correct markdown link in infrastructure logging by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12525
    • docs: remove obsolete comments from config examples by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12526
    • docs: add redirect config for CaseSensitivePlugin by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/12550
    • docs: improve node configurations by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12547
    • docs: correct optimization.realContentHash type by @vsn4ik in https://github.com/web-infra-dev/rspack/pull/12562
    • docs: fix childAssets typo in ChunkGroup object by @henryqdineen in https://github.com/web-infra-dev/rspack/pull/12565

    Other Changes

    • test: remove webpack consistency check filters from statsOutputCases by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12394
    • test: enable previously filtered test cases and update expected outputs by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12396
    • chore(ci): run Mac CI test on github hosted runner by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12397
    • test: update stats snapshot by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12401
    • test: enable passing normalCases tests and document failures by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12409
    • test: enable passing configCases tests and document failures by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12412
    • test: try to fix flaky test cases by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12402
    • chore(ci): fix artifact discovery logic in Rsdoctor action by @yifancong in https://github.com/web-infra-dev/rspack/pull/12405
    • chore: bump swc_experimental to fix parsing utf8 in template by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12431
    • chore(ci): skip diff action for doc-only changes by @yifancong in https://github.com/web-infra-dev/rspack/pull/12437
    • chore(deps): update dependency cspell to ^9.4.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12439
    • chore(deps): update dependency memfs to v4.51.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12440
    • chore(deps): update dependency tsx to ^4.21.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12442
    • chore(deps): update dependency prettier to v3.7.4 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12441
    • chore: skip diff CI for doc-only changes by @yifancong in https://github.com/web-infra-dev/rspack/pull/12438
    • chore: enable noUnusedParameters option in tsconfig by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12464
    • chore(deps): update SWC to v48.0.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12479
    • chore(deps): update dependency @shikijs/transformers to ^3.20.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12480
    • chore(ci): support collapsing the CI comment by @yifancong in https://github.com/web-infra-dev/rspack/pull/12472
    • chore(deps): update github-actions by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12477
    • chore: release v1.7.0-beta.0 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12487
    • chore(ci): update windows zstd version by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12489
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12478
    • chore(deps): bump Rslib v0.18.5 by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/12502
    • chore(ci): collapse the diff action detail comments by @yifancong in https://github.com/web-infra-dev/rspack/pull/12503
    • chore(deps): update dependency commander to v14 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12510
    • chore(deps): update pnpm to v10.26.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12509
    • chore(deps): update dependency @swc/plugin-remove-console to ^12.1.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12508
    • chore(deps): update dependency jest-diff to v30 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12512
    • chore(deps): update dependency pretty-format to v30 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12514
    • ci: check formats for doc-only changes by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12511
    • chore(deps): update patch crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12152
    • test: add retry configuration for CI to reduce flakes by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12517
    • test: enable previously skipped stats output tests by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12520
    • chore: bump swc_core from 50.2.3 to 52.0.0 and swc_experimental from 0.3.3 to 0.3.5 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12518
    • chore: restructure examples and add basic React example by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12522
    • chore: remove logic of parallelCodeSplitting by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12424
    • test: cleanup obsolete test cases and update test configurations by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12523
    • chore: allow prettier to format test tools and e2e files by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12528
    • chore: release v1.7.0 beta.1 by @SyMind in https://github.com/web-infra-dev/rspack/pull/12533
    • chore(deps): update dependency @module-federation/runtime-tools to v0.22.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12536
    • chore(deps): update dependency markdown-to-jsx to v9 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12540
    • chore(deps): update github-actions by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12541
    • chore(deps): update pnpm to v10.26.2 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12544
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12543
    • chore(deps): update patch crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12542
    • chore(deps): update dependency @rslib/core to v0.18.6 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12553
    • chore: unify prettier config format by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12557
    • chore: ignore style changes in git blame by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12561
    • test: cleanup diff comments by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12564
    • chore(vscode): set defaultFormatter to prettier by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/12574
    • chore(deps): bump Rslib v0.19.0 by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/12573
    • chore: bump swc_core from 52.0.0 to 54.0.0 and swc_experimental from 0.3.5 to 0.4.0 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12582

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v1.6.8...v1.7.0

    Open source โ†’
  58. 1.7.0-beta.123 Dec 2025pre-release
    Release notes

    <!-- Release notes generated using configuration in .github/release.yml at v1.7.0-beta.1 -->

    What's Changed

    New Features ๐ŸŽ‰

    • feat: improve deprecation warning messages by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12524
    • feat: add rspack_tools to compare .cache from different os by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/12499

    Bug Fixes ๐Ÿž

    • fix: exclude hidden dir from snapshot managedPaths default value by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/12486
    • fix: relative resource path in source maps on Windows by @SyMind in https://github.com/web-infra-dev/rspack/pull/12493
    • fix: parsing arrow function IIFE by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12490
    • fix: compile-time evaluation of optional chaining by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12494
    • fix: SRI plugin runtime module check for Module Federation by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12519
    • fix: use default runtime to export default interop and keep empty import for externals by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12530

    Refactor ๐Ÿ”จ

    • refactor(esm-lib-plugin): manually resolve exports that re star-exported, and improve NodeTargetPlugin for module output by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12476

    Document Updates ๐Ÿ“–

    • docs: add test/include/exclude options for eval source map devtool by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12495
    • docs: use Rspress's default table styles by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12496
    • docs: remove unused code, correct the usage of Link and Table. by @SoonIter in https://github.com/web-infra-dev/rspack/pull/12498
    • docs: enhance output.asyncChunks documentation and examples by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12500
    • docs: stablize inline exports configurations by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12504
    • docs: format markdown files by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12507
    • docs: mention browserslist limitations in target configuration by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12515
    • docs: correct markdown link in infrastructure logging by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12525
    • docs: remove obsolete comments from config examples by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12526

    Other Changes

    • chore: release v1.7.0-beta.0 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12487
    • chore(ci): update windows zstd version by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12489
    • chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12478
    • chore(deps): bump Rslib v0.18.5 by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/12502
    • chore(ci): collapse the diff action detail comments by @yifancong in https://github.com/web-infra-dev/rspack/pull/12503
    • chore(deps): update dependency commander to v14 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12510
    • chore(deps): update pnpm to v10.26.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12509
    • chore(deps): update dependency @swc/plugin-remove-console to ^12.1.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12508
    • chore(deps): update dependency jest-diff to v30 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12512
    • chore(deps): update dependency pretty-format to v30 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12514
    • ci: check formats for doc-only changes by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12511
    • chore(deps): update patch crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12152
    • test: add retry configuration for CI to reduce flakes by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12517
    • test: enable previously skipped stats output tests by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12520
    • chore: bump swc_core from 50.2.3 to 52.0.0 and swc_experimental from 0.3.3 to 0.3.5 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12518
    • chore: restructure examples and add basic React example by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12522
    • chore: remove logic of parallelCodeSplitting by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12424
    • test: cleanup obsolete test cases and update test configurations by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12523
    • chore: allow prettier to format test tools and e2e files by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12528

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v1.7.0-beta.0...v1.7.0-beta.1

    Open source โ†’
  59. 1.7.0-beta.017 Dec 2025pre-release
    Release notes

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

    Highlights ๐Ÿ’ก

    ๐ŸŽˆ Upgrade SWC

    The latest version of SWC enhances the compatibility of Wasm plugins. This means future upgrades of Rspack and SWC will almost no longer break SWC Wasm plugins. Additionally, the SWC upgrade brings a 10% performance improvement to the parser.

    โœ… Enable lazy compilation by default

    Since Rspack v1.5 has stabilized Lazy Compilation, we are now enabling it by default for dynamic imports cases when the target is web.

    export default defineConfig({
      lazyCompilation: {
        imports: true,
      },
    });
    

    ๐ŸŽฏ Stablize several experimental configurations

    In the previous releases, the experimental features experiments.lazyBarrel, experiments.inlineConst, experiments.inlineEnum were introduced to enable cross-module inlining optimizations for constants. These optimizations improve minifiers' ability to perform precise static analysis, eliminate unused code branches, and further reduce bundle size.

    After thorough validation, we are now promoting these features from experimental to stable.

    export default  {
      experiments: {
    -   inlineConst: true,
    -   inlineEnum: true,
    -   lazyBarrel: true,
    -   typeReexportsPresence: true,
      },
      module: {
        parser: {
          javascript: {
    -      inlineConst: true,
           typeReexportsPresence: true,
          },
        },
      },
      optimization: {
    +  inlineExports: true,
      },
    }
    

    What's Changed

    Performance Improvements โšก

    • perf(rstest): minor performance optimization by @fi3ework in https://github.com/web-infra-dev/rspack/pull/12469

    New Features ๐ŸŽ‰

    • feat: support dynamic URL with new URL() context mode by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12389
    • feat: stabilize lazy compilation middleware by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12429
    • feat: add support for type: 'text' in asset modules by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12457
    • feat: enable lazy compilation for imports by defaults by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12419
    • feat(deps)!: bump swc_core from 46.0.3 to 50.2.3 and swc_experimental by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12445
    • feat: implement UniversalCompileAsyncWasmPlugin for universal chunk loading by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12471
    • feat: stabilize inline exports by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12475
    • feat: stabilize SubresourceIntegrityPlugin by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12483

    Bug Fixes ๐Ÿž

    • fix: add test/include/exclude options to EvalSourceMapDevToolPlugin by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12392
    • fix: relative-resource-path should handle output.filename by @SyMind in https://github.com/web-infra-dev/rspack/pull/12398
    • fix: improve RuntimeGlobals type definition accuracy by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12403
    • fix: handle empty resource path in context module by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12407
    • fix: align webpack behavior of removing empty entry chunk by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12414
    • fix: make splitChunks more stable by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12410
    • fix: should use exported name of the imported module by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12423
    • fix: strip ANSI codes from ignoreWarnings messages by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12435
    • fix: concatenate module should use importer's 'strict' for interop by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12446
    • fix: wasm plugin panic when use persistent cache by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/12455
    • fix: add Set methods to compilation dependencies by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12459
    • fix(diagnostic): avoid emitting dim-only indent lines by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12461
    • fix: handle symlinks correctly in rmrf function by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12456
    • fix: add case-sensitive check for emit assets by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12462
    • fix: use RspackHash for HTML plugin content hash calculation by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12465
    • fix: re-validate HttpUriPlugin redirects against allowedUris and enforce http(s) and max redirects by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12463
    • fix: extra runtime global bits are lost after js hook by @nilptr in https://github.com/web-infra-dev/rspack/pull/12275
    • fix: set lazyCompilation default to web only by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12473
    • fix: handle ignored asset modules with proper data URL export by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12468
    • fix: reexports in arrow-only environments without const by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12484
    • fix: respect matchResource when generate nameForCondition by @Austaras in https://github.com/web-infra-dev/rspack/pull/12449

    Refactor ๐Ÿ”จ

    • refactor: move cacheable macros to rspack_cacheable_macros by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/12393
    • refactor: use atomic_refcell for async_module_artifact by @hardfist in https://github.com/web-infra-dev/rspack/pull/12408
    • refactor: use swc_experimental on concatenated module by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12369
    • refactor: change dependencies_diagnostics_artifact to use atomic_refcell by @hardfist in https://github.com/web-infra-dev/rspack/pull/12415
    • refactor: replace SourceFile with &str and replace Arc<SourceMap> with Rope in rspack_plugin_javascript by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12404
    • refactor: extract common utility functions to rspack_util by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12447
    • refactor: remove linked_hash_set dependency by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12451

    Document Updates ๐Ÿ“–

    • docs: add docs about env to control working threads limit by @hardfist in https://github.com/web-infra-dev/rspack/pull/12383
    • docs: improve AGENTS.md and add comprehensive development documentation by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12420
    • docs: upgrade [email protected] by @SoonIter in https://github.com/web-infra-dev/rspack/pull/12426
    • docs: update FAQ to clarify Rspack's support for Wasm and RSC by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12432
    • docs: enhance ignoreWarnings option with detailed examples by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12436
    • docs: add deprecated options documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12448
    • docs: refactor module.rules options into a dedicated page by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12452
    • docs: improve resolve.byDependency description and examples by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12458
    • docs: fix rules[].use example by @henryqdineen in https://github.com/web-infra-dev/rspack/pull/12466
    • docs: add descriptions for built-in plugins by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12485

    Other Changes

    • chore: release v1.6.7 by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12391
    • test: remove webpack consistency check filters from statsOutputCases by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12394
    • test: enable previously filtered test cases and update expected outputs by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12396
    • chore(ci): run Mac CI test on github hosted runner by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12397
    • test: update stats snapshot by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12401
    • test: enable passing normalCases tests and document failures by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12409
    • test: enable passing configCases tests and document failures by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12412
    • test: try to fix flaky test cases by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12402
    • chore(ci): fix artifact discovery logic in Rsdoctor action by @yifancong in https://github.com/web-infra-dev/rspack/pull/12405
    • chore: bump swc_experimental to fix parsing utf8 in template by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12431
    • chore(ci): skip diff action for doc-only changes by @yifancong in https://github.com/web-infra-dev/rspack/pull/12437
    • chore(deps): update dependency cspell to ^9.4.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12439
    • chore(deps): update dependency memfs to v4.51.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12440
    • chore(deps): update dependency tsx to ^4.21.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12442
    • chore(deps): update dependency prettier to v3.7.4 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12441
    • chore: skip diff CI for doc-only changes by @yifancong in https://github.com/web-infra-dev/rspack/pull/12438
    • chore: enable noUnusedParameters option in tsconfig by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12464
    • chore(deps): update SWC to v48.0.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12479
    • chore(deps): update dependency @shikijs/transformers to ^3.20.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12480
    • chore(ci): support collapsing the CI comment by @yifancong in https://github.com/web-infra-dev/rspack/pull/12472
    • chore(deps): update github-actions by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12477

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v1.6.7...v1.7.0-beta.0

    Open source โ†’
  60. 1.6.817 Dec 2025
    Release notes

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

    What's Changed

    Bug Fixes ๐Ÿž

    • fix: reexports in arrow-only environments without const by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12484
    • fix: re-validate HttpUriPlugin redirects against allowedUris and enforce http(s) and max redirects by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12463

    Full Changelog: https://github.com/web-infra-dev/rspack/compare/v1.6.7...v1.6.8

    Open source โ†’