What's Changed
Breaking Changes 🛠
- feat!: change default value for devtool by @SyMind in #12934
- fix!: enable requireAsExpression by default again and not to throw warning when requireAlias is disabled by @LingyuCoder in #12998
Performance Improvements ⚡
- perf: optimize require regex compilation using static LazyLock by @LingyuCoder in #12944
- perf: try fix mf performance regression by @hardfist in #12958
New Features 🎉
- feat: add
beforeModuleIdshook by @hamlim in #12809 - feat: support
import.defer()for context module by @ahabhgk in #12938 - feat: support MF share treeshake by @2heal1 in #12250
- feat: make license banner comment more concise by @chenjiahan in #12960
- feat: preserve tla expr for EsmLibrary by @JSerFeng in #12942
- feat: add support for readonly persistent cache by @cellison-figma in #12902
- feat(css): introduce
resolveImportparser option for css parser to choose whether to resolve@importsyntax by @JSerFeng in #12672 - feat: add the map of json data size to rspack_plugin_rsdoctor for use rsdoctor by @yifancong in #12950
- feat!: change exports presence default to true by @ahabhgk in #13002
Bug Fixes 🐞
- fix: rsc plugin stats should use AtomicRefCell by @SyMind in #12923
- fix: context dependencies hash calculation use cache.snapshot configuration by @jerrykingxyz in #12937
- fix!: remove debug hash algorithm by @chenjiahan in #12951
- fix: RSC fails to properly handle Windows paths by @SyMind in #12969
- fix: webpack_chunk_load api compile wrong by @SyMind in #12971
- fix: Replace AtomicRefCell with Mutex in RSC Coordinator by @SyMind in #12972
- fix: port webpack fix for webpack_module name collision by @Copilot in #12956
- fix: preserve import external without modify mg by @JSerFeng in #12973
- fix: allow to export the same name of same local, fix entry splitting algorithm by @JSerFeng in #13000
- fix(esm-lib-plugin): support inline export for dyn import by @JSerFeng in #12949
Refactor 🔨
- refactor: collect runtime module runtime requirements by @LingyuCoder in #12890
- refactor: introduce PassExt trait by @hardfist in #12896
- refactor: runtime requirements in parser by @LingyuCoder in #12928
- refactor: improve runtime module macro by @LingyuCoder in #12941
- refactor: make lazy compilation active request meaningful by @stormslowly in #12887
- refactor: move build_chunk_graph result to build_chunk_graph_artifact by @hardfist in #12917
- refactor: using sync hook for dependency_referenced_exports hook by @hardfist in #12963
- refactor: use runtime template for context module codegen by @ahabhgk in #12957
- refactor: rename derefOption to stealCell and migrate atomicRefCell to Stealcell by @hardfist in #12974
- refactor: wrap artifact in StealCell by @hardfist in #12979
- refactor: Replace artifact default initialization with explicit new by @hardfist in #13005
- refactor: Ensure each crate enables workspace clippy lint by @hardfist in #12995
- refactor: improve runtime code template architecture by @LingyuCoder in #12954
Document Updates 📖
- docs: correct plugin hook in SRI plugin by @chenjiahan in #12935
- docs: add guide for React Server Components by @SyMind in #12919
- docs: remove experimental outputModule configuration by @chenjiahan in #12952
- docs: move deprecated options to dedicated page by @chenjiahan in #12953
- docs: add docs about using module external with defer import by @ahabhgk in #12965
- docs: update doc links for Rspack versions by @chenjiahan in #12985
- docs: update import defer supported syntax by @ahabhgk in #12987
- docs(config): clarify output.uniqueName default value and usage by @chenjiahan in #12993
- docs: remove meaningless comments from config examples by @chenjiahan in #12994
- docs(agents): clarify semver commit requirements by @hardfist in #12996
- docs: sort config option sections alphabetically by @chenjiahan in #12999
- docs(ecosystem): add Meteor to ecosystem page by @chenjiahan in #13004
- docs(module-federation): improve plugin documentation for clarity by @chenjiahan in #12997
- docs: add cache.readonly doc by @jerrykingxyz in #12991
- docs: fix various documentation links and typos by @chenjiahan in #13013
- docs: improve performance configuration documentation by @chenjiahan in #13015
- docs(config): add examples module rules by @chenjiahan in #13016
- docs: improve
optimization.mangleExportsdocs by @chenjiahan in #13018
Other Changes
- chore: release 2.0.0-beta.0 by @LingyuCoder in #12926
- chore(deps): update babel to ^7.29.0 by @renovate[bot] in #12932
- chore(deps): update patch npm dependencies by @renovate[bot] in #12930
- chore(deps): update rust crate bytes to v1.11.1 [security] by @renovate[bot] in #12931
- chore(deps): update patch crates by @renovate[bot] in #12929
- chore(test): unref makes the server garbage unstable by @stormslowly in #12936
- chore(core): move @rspack/lite-tapable to dev dependencies by @chenjiahan in #12939
- chore(build): remove 'module.exports' export from dts for backward compatibility of TS < 5.6.2 by @Timeless0911 in #12948
- test: bump rstest 0.8.3 by @9aoy in #12959
- chore: remove color-backtrace and enable panic backtrace for ci profile by @hardfist in #12967
- chore: use httpClient to mock test server by @stormslowly in #12962
- chore(test): show cli test stdout/err when child proceess killed by @stormslowly in #12913
- chore(ci): keep debug info in CI profile by @stormslowly in #12981
- chore: bump @rslint/core to 0.2.1 by @fansenze in #13003
- chore(deps): update dependency axios to v1.13.5 [security] by @renovate[bot] in #13014
- chore: Add build_module_graph benchmark in codspeed suite by @hardfist in #13012
New Contributors
- @hamlim made their first contribution in #12809
- @cellison-figma made their first contribution in #12902
Full Changelog: v2.0.0-beta.0...v2.0.0-beta.1