What's Changed
Performance Improvements ⚡
- perf(code-splitting): reuse side effects evaluation state by @LingyuCoder in #13668
- perf: trace hook interception only pays off once global tracing is already on by @SyMind in #13689
New Features 🎉
- feat(create-rspack): modernize starter template configs by @chenjiahan in #13645
- feat(split-chunks): support enforceSizeThreshold option by @jaehafe in #13576
- feat(resolve): support
#/subpath alias import by @stormslowly in #13633 - feat(create-rspack): reuse rspack config in rstest templates by @chenjiahan in #13666
- feat: enforce macro-generated implemented_hooks in debug builds by @SyMind in #13677
- feat: only apply require-* parser plugins to js-auto/js-dynamic by @SyMind in #13678
- feat: skip building side-effect-only imports in make by @ahabhgk in #13688
- feat: add compiler.hooks.shouldRecord for NoEmitOnErrorsPlugin by @stormslowly in #13630
- feat(cli): use jiti to load typescript config by @hardfist in #13690
Bug Fixes 🐞
- fix(browser): import napi symbols from binding by @CPunisher in #13641
- fix(core): fix cjs export function tree shaking by @ahabhgk in #13643
- fix(config): tighten rule loader/use typings by @kyungilcho in #13514
- fix: add
@emnapi/coreand@emnapi/runtimeas dependencies by @CPunisher in #13665 - fix(loader): preserve additionalData in builtin loaders by @ahabhgk in #13661
- fix(cli): disable hmr in preview by @chenjiahan in #13669
- fix(hash): keep fullhash in sync with css-only content changes by @GiveMe-A-Name in #13491
- fix(watcher): flush pending events on unpause to prevent stuck files_data by @stormslowly in #13603
- fix(watcher): filter stale FSEvents with mtime baseline comparison by @stormslowly in #13610
- fix(rstest): respect importFunctionName when importDynamic is disabled by @9aoy in #13673
- fix: fix flaky wasm tests by @hardfist in #13655
- fix: support module external type in array externals by @JSerFeng in #13663
- fix(mf): resolve version from parent package for secondary entry points by @davidfestal in #13636
- fix(wasm): fix browser e2e timeout by running @rspack/browser builds in a worker by @hardfist in #13687
- fix: Revert rstest importFunctionName feature when importDynamic is disabled by @9aoy in #13699
Refactor 🔨
- refactor(concatenated-module): reduce clone overhead by @LingyuCoder in #13642
- refactor: replace expect("TODO") with descriptive error messages by @jaehafe in #13685
Document Updates 📖
- docs: clarify v2 migration package upgrades by @chenjiahan in #13664
- docs: supplement preserveModules documentation by @JSerFeng in #13659
- docs: use detectSyntax in swc-loader examples by @chenjiahan in #13672
- docs: document package.json imports resolution by @chenjiahan in #13686
- docs: clarify externals configuration by @chenjiahan in #13692
- docs: correct several config option types by @chenjiahan in #13694
- docs: improve library.type and ESM output docs by @JSerFeng in #13648
Other Changes
- chore: release 2.0.0-rc.1 by @LingyuCoder in #13625
- chore(ci): reduce Linux Node.js matrix to save CI resources by @chenjiahan in #13657
- chore: bump @rslint/core to 0.4.0 by @fansenze in #13658
- chore(deps): update Rslib 0.21.0 by @Timeless0911 in #13650
- chore(ci): add node 24 to release canary and debug workflows by @stormslowly in #13656
- chore: using codspeed bench scan dependencies by @SyMind in #13400
- feat: Add support for assigning numbers in
beforeModuleIdshook by @hamlim in #13222 - test(swc-loader): use detectSyntax auto in test configs by @chenjiahan in #13667
- chore(ci): use unique job IDs in bench workflows to avoid CodSpeed data loss by @stormslowly in #13542
- chore(deps): update dependency create-rstack to v1.9.1 by @renovate[bot] in #13676
- chore(deps): update dependency axios to ^1.15.0 by @renovate[bot] in #13675
- chore(deps): update dependency cspell to ^9.8.0 by @renovate[bot] in #13682
- chore(deps): update dependency heading-case to ^1.1.0 by @renovate[bot] in #13683
- chore(deps): update patch npm dependencies by @renovate[bot] in #13681
- chore(deps): update taiki-e/install-action digest to 0abfcd5 by @renovate[bot] in #13679
- chore(deps): update dependency jest-diff to ^30.3.0 by @renovate[bot] in #13684
- chore(deps): update dependency @rslint/core to v0.4.1 by @renovate[bot] in #13680
New Contributors
- @kyungilcho made their first contribution in #13514
- @davidfestal made their first contribution in #13636
Full Changelog: v2.0.0-rc.1...v2.0.0-rc.2