What's Changed
New Features 🎉
Performance 🚀
- perf(stats): disable cacheInfo by default by @chenjiahan in #16356
- perf(watcher): coalesce queued native watcher batches by @guru-irl in #16344
- perf(split-chunks): keep type and layer filters on the native path by @guru-irl in #16279
- perf(stats): cache issuer paths during stats generation by @stormslowly in #16351
Bug Fixes 🐞
- fix: compare named cache groups by the size they actually save by @hai-x in #16291
- fix: don't use the line number as the column of a JS error loc by @hai-x in #16324
- fix(css): skip stylesheets of entries not on the page on hot update by @CyberAP in #16215
- fix(watcher): wait for aggregateTimeout after the last change by @guru-irl in #16304
- fix: avoid using absolute paths in sourcemap hashes by @cellison-figma in #16313
- fix(binding): preserve worker callback ownership and native module lifetime by @SyMind in #16318
- fix: cache rendered diagnostics across rebuilds by @JSerFeng in #16358
- fix(javascript): keep exports referenced through arguments in import().then callback by @ump45nose in #16392
- fix(css): include shared initial chunks in filename runtime by @intellild in #16355
- fix(css): gate the stylesheet link runtime by chunk loading by @intellild in #16340
- fix(sources): preserve missing source contents as null by @SyMind in #16366
- fix(lightningcss-loader): preserve parser flags during stylesheet conversion by @mattcosta7 in #16378
- fix(sources): don't let a generated-only mapping shadow a mapped one at the same column by @flex-mookeun in #16363
- fix(allocative): update root macro for ctor 0.13 by @hai-x in #16385
- fix(hmr): validate chunk versions before installation by @JSerFeng in #16360
- fix(mf): use correct async startup handlers in rspack runtime by @hai-x in #16399
Refactor 🔨
- refactor(javascript): migrate to semantic symbol links by @CPunisher in #16335
- refactor(concatenate): drop repeated lookups and dead binding fields by @hai-x in #16219
Document 📖
- docs: Rspack 2.3 release blog by @intellild in #16179
- docs: refine Rspack 2.3 announcement wording by @chenjiahan in #16337
- docs: improve Rspack 2.3 announcement readability by @chenjiahan in #16339
- docs: document cache statistics in Stats JSON by @chenjiahan in #16353
- docs: simplify split chunks option headings and examples by @chenjiahan in #16364
- docs: explain split chunks concepts and cache groups by @chenjiahan in #16365
- docs: explain base URI in the asset base path guide by @chenjiahan in #16367
- docs: correct split chunks option behavior and defaults by @chenjiahan in #16375
- docs: add split chunks option examples by @chenjiahan in #16388
Other Changes
- test(cli): remove redundant config extends compatibility test by @chenjiahan in #16334
- test: migrate remaining CommonJS configs to TypeScript by @chenjiahan in #16342
- test(cli): migrate functional configs to ESM TypeScript by @chenjiahan in #16343
- test: migrate remaining mjs configs to TypeScript by @chenjiahan in #16354
- chore(deps): replace direct acorn dependency with swc-next parser by @chenjiahan in #16352
- test(e2e): migrate configs to ESM TypeScript by @chenjiahan in #16357
- chore(deps): update dependency ubuntu to v26 by @renovate[bot] in #16381
- chore(deps): update patch npm dependencies by @renovate[bot] in #16370
- chore(deps): update github-actions by @renovate[bot] in #16380
- chore(deps): update dependency @microsoft/api-extractor to ^7.60.1 by @renovate[bot] in #16372
- chore(deps): update dependency less-loader to ^13.1.0 by @renovate[bot] in #16373
- chore(deps): update dependency glob to v14 [security] by @renovate[bot] in #16384
- test: move cache related tests to newCacheCases by @ahabhgk in #16336
- chore(deps): upgrade Rstack CLI to v0.9.0 by @chenjiahan in #16396
New Contributors
- @ump45nose made their first contribution in #16392
Full Changelog: v2.3.0...v2.3.1