Highlights 💡
Optimized memory consumption while rebuilding
Bumped Mimalloc to v3 to lift memory usage issue while rebuilding on macOS. #9533
A user shared the following results after testing the 1.2.8:
"The canary version solves the memory leak (almost) completely for me 🥳."
Version | Initial Compile | After 10 HMR |
---|---|---|
1.2.2 | 4.57 GB | 5.48 GB |
1.2.7 | 3.93 GB | 4.18 GB |
1.2.8-canary-3d971bbf-20250304 | 3.66 GB | 3.72 GB |
The 1.2.8 demonstrates a ~10% improvement over 1.2.7.
What's Changed
Exciting New Features 🎉
- feat: render runtime template with dojang by @GiveMe-A-Name in #9501
- feat(memory-allocator): use mimalloc-v3 on macOS and bump mimalloc to v2.1.7 on other platforms by @h-a-n-a in #9533
- feat(cli):
rspack preview
support fornodeEnv
flag and default env by @chenjiahan in #9543 - feat(create-rspack): add
preview
script and removecross-env
by @chenjiahan in #9544 - feat: module info header plugin by @stormslowly in #9411
- feat(diagnostic): support
JSONError
diagnostic in resolver by @h-a-n-a in #9566 - feat(wasm): support wasm compilation by @CPunisher in #9585
- feat(core): enhanced version hashing to support directory build dependencies by @caohuilin in #9604
- feat: support
entrypoint.getEntrypointChunk()
by @ahabhgk in #9625
Bug Fixes 🐞
- fix: should give js entry dependency id when hit cache by @SyMind in #9535
- fix: change module matchResource in loader by @ahabhgk in #9536
- fix: should re-build chunk graph when adding a entry connection by @ahabhgk in #9537
- fix(lazy-compilation): should have separate state in multi-compiler by @JSerFeng in #9545
- fix(html): include
innerHTML
content in rendered asset tags by @faultyserver in #9526 - fix: copy filename_template into split chunks by @henryqdineen in #8900
- fix: require_ensure block's dep by @stormslowly in #9590
- fix: add support for using id placeholder in the webassemblyModuleFilename by @inottn in #9603
- fix: css url get target asset module url panic by @ahabhgk in #9607
- fix: support access to userRequest of ExternalModule by @inottn in #9602
- fix(core): remove blocking to avoid deadlock for multi compiler by @hardfist in #9587
Document Updates 📖
- docs: fix invalid link in roadmap by @chenjiahan in #9539
- docs: invite @stormslowly to Rspack core team by @chenjiahan in #9546
- docs: add Rspeedy and Lynx to ecosystem by @chenjiahan in #9556
- docs: add Angular Rspack and update example repo link by @chenjiahan in #9577
- docs: add debugging guide by @hardfist in #9540
- docs: update quick start guide by @chenjiahan in #9600
- docs: deprecate
sri
option of HTML plugin by @LingyuCoder in #9610
Other Changes
- chore: release v1.2.7 by @stormslowly in #9527
- test: run watch cases concurrently by @LingyuCoder in #9541
- refactor(rust): improve
replace_all_placeholder
by @shulaoda in #9525 - test: run partial cases concurrently by @LingyuCoder in #9547
- chore(deps): update rspress to v1.42.1 by @renovate in #9519
- chore(deps): update dependency create-rstack to v1.3.0 by @renovate in #9548
- chore(deps): update dependency tsup to ^8.4.0 by @renovate in #9549
- chore(deps): update dependency prettier to v3.5.3 by @renovate in #9551
- chore(deps): update rust crate rspack_resolver to 0.5.2 by @renovate in #9553
- chore(deps): update babel by @renovate in #9555
- chore(deps): update yarn to v3.8.7 by @renovate in #9554
- test: fix import failed while running cases concurrently by @LingyuCoder in #9558
- test: split config snapshot to each case by @LingyuCoder in #9559
- ci: run api and doc coverage check in lint job by @LingyuCoder in #9561
- chore: remove unnecessary console in test by @JSerFeng in #9565
- build: Set optimization level in per-crate basis by @kdy1 in #9400
- chore(deps): Dedupe pnpm dependencies by @KuSh in #9563
- chore: bench stats.toJson() by @SyMind in #9569
- chore(deps): update npm dependencies by @renovate in #9552
- chore: split and group .github/action by features by @jerrykingxyz in #9574
- chore: ecosystem benchmark should download artifact from github by @jerrykingxyz in #9579
- ci: install nightly components manually by @LingyuCoder in #9576
- chore(deps): update dependency babel-loader to v10 by @renovate in #9582
- chore(deps): update rspress to v1.43.0 by @renovate in #9580
- test: rollback windows ci profile to dev by @LingyuCoder in #9583
- test: run config and hot cases concurrently by @LingyuCoder in #9560
- test: pass more webpack test after ModuleInfoHeaderPlugin finished by @stormslowly in #9571
- chore: align to wepack chunk load global's double quote by @stormslowly in #9589
- chore(deps): update dependency @types/ws to v8.18.0 by @renovate in #9594
- chore(deps): update dependency axios to ^1.8.2 by @renovate in #9595
- chore(deps): update dependency core-js to v3.41.0 by @renovate in #9596
- chore(deps): update rspress to v1.43.1 by @renovate in #9597
- chore(deps): update dependency html-loader to ^5.1.0 by @renovate in #9598
- chore(deps): update dependency zx to v8.4.0 by @renovate in #9599
- test: jsdom runner module wrapper by @LingyuCoder in #9609
- test: should not output too much logs during the test by @LingyuCoder in #9612
- refactor: add unconstrained to tokio spawn tasks by @LingyuCoder in #9611
- chore(workflow): add interactive debug test launch by @hardfist in #9591
- chore(deps): update github-actions by @renovate in #9550
- test: remove color setting and node warnings by @LingyuCoder in #9622
- chore: add build:wasm scripts by @hardfist in #9623
New Contributors
- @faultyserver made their first contribution in #9526
- @henryqdineen made their first contribution in #8900
- @kdy1 made their first contribution in #9400
Full Changelog: v1.2.7...v1.2.8